una tres que puntos promedio obtener googlemaps google geolocalizacion geocodificar funcion euclidiana entre distancia datos coordenadas con comparar calcule calcular php google-maps

tres - Uso de PHP y google Maps Api para calcular la distancia entre 2 códigos postales(Reino Unido)



obtener distancia google maps (5)

Echa un vistazo a la lista de correo aquí:

http://groups.google.com/group/Google-Maps-API/browse_thread/thread/71e6aa2c3de66127

Una vez que decida si desea una línea recta o una distancia de conducción, puede calcularlo realmente fácilmente. No tienes que usar PHP pero hay ejemplos.

Mira esto también:

http://groups.google.com/group/google-maps-api/browse_thread/thread/d43de63d05adc62d/1a04053f39a3edf3?lnk=gst&q=calculate+distance#1a04053f39a3edf3

Hay, me pregunto cómo calcular la distancia entre 2 códigos postales usando PHP y Google Maps Api.

Cualquiera tiene alguna idea o enlaces a ejemplos.


La API de Google Maps está en JavaScript, no en PHP. Para lograr lo que desea, gire los 2 códigos postales a las coordenadas LatLang y use la función distanceFrom para encontrar la distancia entre ellos.

Echa un vistazo a este artículo para ver algunos ejemplos de código.


No sé si la API de V3 cambia algo, pero he estado usando esto durante bastante tiempo y todavía funciona:

Desde y hacia se expresan cada uno como latitud, longitud (una dirección probablemente funcionaría; estoy seguro de que lo intenté pero no recuerdo y de todas formas tenía las coordenadas)

$base_url = ''http://maps.googleapis.com/maps/api/directions/xml?sensor=false''; $xml = simplexml_load_file("$base_url&origin=$from&destination=$to"); $distance = (string)$xml->route->leg->distance->text; $duration = (string)$xml->route->leg->duration->text


Sobre la base de la respuesta de Daniel, puede utilizar la API de codificación geográfica de Google para obtener fácilmente distancias en automóvil, transporte público, caminar y andar en bicicleta:

$postcode1=''W1J0DB''; $postcode2=''W23UW''; $result = array(); $url = "http://maps.googleapis.com/maps/api/distancematrix/json?origins=$postcode1&destinations=$postcode2&mode=bicycling&language=en-EN&sensor=false"; $data = @file_get_contents($url); $result = json_decode($data, true); print_r($result);

Asegúrese de reemplazar & mode = biking con su parámetro preferido:

  • & mode = conducir
  • & mode = ciclismo
  • & mode = tránsito
  • & mode = caminando

Suponiendo que está buscando la distancia geográfica , primero necesita obtener la latitud y la longitud de sus dos códigos postales con los servicios de geocodificación del lado del servidor de Google Maps como en el siguiente ejemplo:

$url = ''http://maps.google.com/maps/geo?q=EC3M,+UK&output=csv&sensor=false''; $data = @file_get_contents($url); $result = explode(",", $data); echo $result[0]; // status code echo $result[1]; // accuracy echo $result[2]; // latitude echo $result[3]; // longitude

Luego, puede calcular la distancia entre las coordenadas de sus dos códigos postales utilizando una implementación de gran distancia de círculo como la siguiente:

Tenga en cuenta que el servicio de geocodificación del lado del servidor solo se puede utilizar junto con la visualización de resultados en un mapa de Google; Los resultados de geocodificación sin mostrarlos en un mapa están prohibidos por los Términos de servicio de la API de Google Maps Restricciones de licencia .

ACTUALIZAR:

Si está buscando la distancia de conducción en lugar de la distancia geográfica, tenga en cuenta que no hay un método documentado y aprobado en este momento para acceder a la API de indicaciones de Google Maps a través de una solicitud HTTP en el lado del servidor.

Sin embargo, un método no documentado que devuelve una salida JSON es el siguiente:

http://maps.google.com/maps/nav?q=from:London%20to:Dover

Esto le devolverá las direcciones de manejo, junto con la distancia total en formato JSON: "meters":122977 .

El formato del parámetro q debe ser from:xxx%20to:yyy . Reemplace xxx y yyy con el inicio y el destino respectivamente. Puede usar coordenadas de latitud y longitud en lugar de direcciones completas:

http://maps.google.com/maps/nav?q=from:51.519894,-0.105667%20to:51.129079,1.306925

Tenga en cuenta que no solo esto no está documentado, sino que también puede violar las restricciones 10.1 y 10.5 de los Términos y condiciones de la API de Google Maps .

También te puede interesar revisar los siguientes artículos relacionados: