
Bing Maps Routes API
es un servicio web de Microsoft
, que al igual que el visto en apartado anteriores también forma parte de Bing Maps
, y cuya principal utilidad es el cálculo de rutas para llegar desde una ubicación origen a otra ubicación destino. Las rutas pueden incluir además puntos intermedios (hitos), y tanto ellos como el origen o el destino pueden especificarse mediante direcciones reconocibles por el usuario o mediante coordenadas (latitud y longitud).
Documentación sobre Bing Maps Routes API
.
Los únicos parámetros que deben figurar obligatoriamente en una petición son:
- El punto origen (
wp.0
). - El punto destino (
wp.1
). - La
api key
Entre los parámetros opcionales están:
- Se pueden indicar puntos intermedios de origen a destino (
wp.0, wp.1, . . ., wp.n
) - La "cultura (idioma, unidades de medida....)" en que se devuelven los resultados (
c
). - El formato de salida (
JSON
oAJAX
) ("o"
). - El modo de desplazarse (walking, driving o transit). Por defecto el valor es: driving.
Por ejemplo, una consulta de Madrid a Almería, en coche, formato de salida JSON
, sistema métrico y castellano podría tener la siguiente forma:
http://dev.virtualearth.net/REST/V1/Routes/Driving?c=es&o=json&wp.0=madrid&wp.1=almeria&key=tuKey
La respuesta obtenida en formato JSON
mostrará las indicaciones necesarias para llegar desde el origen al destino. El código necesario en PHP
para utilizar el servicio será:
$url="http://dev.virtualearth.net/REST/V1/Routes/Driving?c=es&o=json&wp.0=madrid&wp.1=almeria&key=tu_KEY";
$json=json_decode(file_get_contents($url), true);
var_dump($json);
Una vez decodificado el formato JSON
obtenido, el acceso a la información se realiza utilizando los elementos del objeto $respuesta
. Revisa la documentación del servicio para ver cómo se estructuran las respuestas, o accede a la url desde el navegador y obsérvalo. Por ejemplo, si del ejemplo anterior queremos la distancia, podríamos hacerlo así:
$distancia=$json['resourceSets'][0]['resources'][0]['travelDistance'];
echo "$distancia klmts.";
Se utiliza la función "file_get_contents()"
de PHP
para almacenar en una variable la respuesta obtenida del servicio Básicamente lo que haces es convertir en un string
el contenido de un fichero o una URL
en este caso. Para que funcione asegúrate de tener la directiva "allow_url_fopen
" de "php.ini"
activada