¿Cómo se calcula la distancia entre dos marcadores en Google Maps V3? (Similar a la distanceFrom
función en V2.)
Gracias..
javascript
google-maps-api-3
Waheed
fuente
fuente
Respuestas:
Si desea calcularlo usted mismo, puede usar la fórmula de Haversine:
fuente
p1.lat()
yp1.lng()
asumen que sus datos de entrada songoogle.maps.LatLng
objetos. Si solo tiene datos en bruto como{lat: __, lon: __}
entonces, en su lugarp1.lat
, los usaría , por ejemplo.En realidad parece haber un método en GMap3. Es un método estático del
google.maps.geometry.spherical
espacio de nombres.Toma como argumentos dos
LatLng
objetos y utilizará un radio de la Tierra predeterminado de 6378137 metros, aunque el radio predeterminado se puede anular con un valor personalizado si es necesario.Asegúrate de incluir:
en tu sección de la cabeza.
La llamada será:
fuente
Ejemplo usando latitud / longitud GPS de 2 puntos.
fuente
Simplemente agregue esto al comienzo de su código JavaScript:
y luego use la función de esta manera:
fuente
fuente
script
etiqueta y llamar a esos métodos. Como reaccionar nativo.Aquí está la implementación de C # de este foro.
fuente
Con Google puede hacerlo utilizando la API esférica ,
google.maps.geometry.spherical.computeDistanceBetween (latLngA, latLngB);
.Sin embargo, si la precisión de una proyección esférica o una solución de Haversine no es lo suficientemente precisa para usted (por ejemplo, si está cerca del poste o calcula distancias más largas), debe usar una biblioteca diferente.
La mayoría de la información sobre el tema que encontré en Wikipedia aquí .
Un truco para ver si la precisión de cualquier algoritmo es adecuada es completar el radio máximo y mínimo de la tierra y ver si la diferencia puede causar problemas en su caso de uso. Muchos más detalles se pueden encontrar en este artículo
Al final, la API de Google o Haversine servirán para la mayoría de los propósitos sin problemas.
fuente
Usando PHP, puede calcular la distancia usando esta función simple:
fuente
K
entonces le dará la distancia en km. Revisalo.SOLUCIÓN OFFLINE - Algoritmo de Haversine
Referencia: https://en.wikipedia.org/wiki/Great-circle_distance
fuente
Tenía que hacerlo ... La forma del guión de acción
fuente
En mi caso, era mejor calcular esto en SQL Server, ya que quería tomar la ubicación actual y luego buscar todos los códigos postales a una cierta distancia de la ubicación actual. También tenía una base de datos que contenía una lista de códigos postales y sus largos. Salud
fuente
fuente
Es bastante fácil usar el servicio Google Distance Matrix
El primer paso es activar el servicio Distance Matrix desde la consola API de Google. devuelve distancias entre un conjunto de ubicaciones. Y aplica esta simple función
Donde origen1 es su ubicación y destino A es ubicación de destino. Puede agregar más de dos o más datos.
Rad Documentación completa con un ejemplo
fuente
Encontré una versión en línea que es correcta en un 80% pero está conectada al parámetro incorrecto y es inconsistente en el uso de las entradas, esta versión lo solucionó por completo
fuente
Para calcular la distancia en Google Maps, puede usar la API de indicaciones. Esa será una de las formas más fáciles de hacerlo. Para obtener datos del servidor de Google, puede usar Retrofit o Volley. Ambos tienen su propia ventaja. Eche un vistazo al siguiente código donde he usado la modificación para implementarlo:
Arriba está el código de la función build_retrofit_and_get_response para calcular la distancia. A continuación se muestra la interfaz de actualización correspondiente:
}
Espero que esto explique tu consulta. Todo lo mejor :)
Fuente: Calculadora de distancia de Google Maps
fuente