Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

117
Views
Cómo encontrar la latitud/longitud más cercana desde la gran matriz json de lat/lng

Estoy creando un sitio web que localiza tu dispositivo y te muestra 4 de los parquímetros más cercanos.

Para los parquímetros, estoy usando una API para recuperar la latitud y la longitud y estoy usando la API de direcciones de Google para establecer las coordenadas de inicio y destino y generar una ruta. Todos los parquímetros están en un radio de ~2,5 km.

Ahora, para encontrar los 4 parquímetros más cercanos, estaba pensando en ejecutar una fórmula y revisar cada registro de la API para encontrar los 4 más cercanos. Pero (creo) eso llevaría demasiado tiempo de procesamiento para cargarlo en un sitio web, por lo que lento. Hay casi 1200 registros en la API.

Para calcular la ruta a través de coordenadas lat/lng estoy usando el siguiente código:

 fetch('https://data.stad.gent/api/records/1.0/search/?dataset=locaties-parkeerautomaten-gent&q=&rows=\ 1200&facet=parkeertariefzone&facet=bewonerszone&facet=betaalmodus&facet=status&facet=categorie') .then(response => response.json()) .then(json => { let start = new google.maps.LatLng(51.053788, 3.730767); let end1 = new google.maps.LatLng(json.records[0].geometry.coordinates[1], json.records[0].geometry.coordinates[0]); let request = { origin: start, destination: end1, travelMode: 'WALKING' }; let display = new google.maps.DirectionsRenderer(); let services = new google.maps.DirectionsService(); services.route(request, function (result, status) { if (status == 'OK') { display.setDirections(result); } }) let map1 = new google.maps.Map(document.getElementById("map1")); display.setMap(map1); });

PREGUNTA: ¿Cuál es, en su opinión, la mejor manera de calcular y devolver los 4 puntos de latitud/longitud más cercanos en una API con casi 1200 registros con un radio de ~2,5 km usando JavaScript?

No estoy muy seguro de cómo abordar este desafío, cualquier respuesta sería apreciada.

NOTA: Es mi primera pregunta/publicación, así que si me perdí algo o hice algo estúpido, házmelo saber, gracias de antemano :)

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En caso de que alguien venga aquí buscando una solución, cómo lo resolví es mediante el siguiente código:

 for (let i = 0; i < json.length; i++) { if ((Math.abs(json[i].coordinates[1] - start.lat)) + ((Math.abs(json.[i].coordinates[0] - start.lng))) < sumLatLng) { closest = json[i]; sumLatLng = (Math.abs(json.[i].coordinates[1] - start.lat)) + ((Math.abs(json.[i].coordinates[0] - start.lng))) } else { console.log("error"); } }

Básicamente, lo que hago es tomar la suma de la latitud y longitud iniciales, restar la latitud y longitud de cada registro de la API y tomar el absoluto del resultado. Si el resultado es más pequeño que el resultado anterior, eso significa que está más cerca.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!