Bing Maps es una web de mapas creada por Microsoft para su buscador Bing. Su principal competidor es Google Maps. En Windows 10 viene preinstalada con el nombre de Windows Maps. Puedes encontrar información de todos los servicios REST que nos ofrece Bing Maps en el enlace siguiente: Servicios Bing Maps.
Como habrás podido ver en la documentación, puedes utilizar, entre otros, los siguientes parámetros:
| Parámetro | Significado |
|---|---|
locality |
Localidad de la que quieres obtener las coordenadas. |
postalCode |
Código postal (opcional) |
point |
Las coordenadas de la ubicación que desea hacer reverse geocoding. Un punto se especifica por una latitud y una longitud. Son obligatorias si queremos obtener una dirección desde una coordenadas. El formato es (lat, lon) 47.64054,-122.12934 |
addressLine |
Dirección (opcional) |
countryRegion |
Código ISO del país (por ejemplo ES) (opcional) |
inclnb |
Incluye el barrio, si está disponible (opcional) Los valores son: 1 (incluye el barrio) 0 (no incluye el barrio, valor por defecto) |
incl |
El único valor para este parámetro es |
maxResults |
Especifica el número máximo de localizaciones de la respuesta, se espera un número entre 1 y 20 (opcional). El valor por defecto es 5 |
o |
Formato de salida por defecto es JSON, si se indica "o=xml" nos dará la salida en XML |
c |
se intenta dar la respuesta en el idioma/cultura especificada (Lista de culturas soportadas) |
Para usar el servicio Bing Maps necesitas crearte una "KEY" de desarrollador registrado en Microsoft. Puedes crearte una usando las instrucciones del enlace siguiente. Con una key de tipo Basic Key es suficiente. Página para crearte una Bing Maps Keys.
El formato de una petición de esta API será:
http://dev.virtualearth.net/REST/v1/Locations/ES/04005/almeria/addressLine?inclnb=0&incl=ciso2&maxResults=1&key=pon_tu_key
Por defecto la salida nos la da en JSON, la respuesta obtenida a esa petición es:
{
"resourceSets": [
{
"estimatedTotal": 1,
"resources": [
{
"__type": "Location:http:\/\/schemas.microsoft.com\/search\/local\/ws\/rest\/v1",
"bbox": [
36.836570739746094,
-2.4601500034332275,
36.85546875,
-2.4520499706268311
],
"name": "04005, Andalusia, Spain",
"point": {
"type": "Point",
"coordinates": [
36.842872619628906,
-2.4560999870300293
]
},
"address": {
"adminDistrict": "Andalusia",
"adminDistrict2": "Almería",
"countryRegion": "Spain",
"formattedAddress": "04005, Andalusia, Spain",
"locality": "Almería",
"postalCode": "04005",
"countryRegionIso2": "ES"
},
"confidence": "Medium",
"entityType": "Postcode1",
"geocodePoints": [
{
"type": "Point",
"coordinates": [
36.842872619628906,
-2.4560999870300293
],
"calculationMethod": "Rooftop",
"usageTypes": [
"Display"
]
}
],
"matchCodes": [
"Ambiguous",
"UpHierarchy"
]
}
]
}
],
}
Si queremos la salida en XML nuestra consulta sería:
http://dev.virtualearth.net/REST/v1/Locations/ES/04005/almeria/addressLine?inclnb=0&incl=ciso2&o=xml&key=tu_key
Si queremos hacer una búsqueda a partir de la longitud y latitud (reverse geocoding):
https://dev.virtualearth.net/REST/v1/Locations/36.835236,%20-2.463084?o=json&c=ES&key=tu_key


