Reemplazo compatible (drop-in) de Google Maps Platform
Los servicios web Geocoding, Places Autocomplete, Time Zone y Elevation responden todos en las mismas rutas en gapi.mygeocode.com, con la misma estructura JSON que devuelve Google. Cambia el host, pon tu clave de My Geocode en el parámetro key y el resto de tu código se queda como está.
Cambia un nombre de host
| Host original |
|
|---|---|
| Usa en su lugar | gapi.mygeocode.com |
| Parámetro de la clave | key (opcional: cualquier dirección recibe 2.500 solicitudes al día sin clave; pon aquí tu clave de My Geocode para tener crédito, paquetes y un historial de uso) |
curl "https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_GOOGLE_KEY"curl "https://gapi.mygeocode.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_MYGEOCODE_KEY"Por qué se cambia la gente
Google exige una cuenta de facturación y una clave en cada llamada, y factura por solicitud en cada SKU. Aquí, una clave gratuita cubre las primeras 2.500 llamadas al día, y el precio a partir de ahí es de 0,0001 € por solicitud o una tarifa fija de 50 € al mes.
La misma cuota gratuita, con clave o sin ella. Las solicitudes a gapi.mygeocode.com cuentan para las mismas 2.500 solicitudes gratuitas al día que tu dirección, o tu clave, recibe en nuestros propios endpoints. Por encima de eso, crédito prepago a 0,0001 € por solicitud, o 50 € al mes por una clave Unlimited. Para registrarte solo necesitas una dirección de correo electrónico.
Endpoints
| Ruta en gapi.mygeocode.com | Qué hace | Respaldado por |
|---|---|---|
/maps/api/geocode/json?address=... | Geocodificación directa | Geocodificación directa |
/maps/api/geocode/json?latlng=lat,lng | Geocodificación inversa | Geocodificación inversa |
/maps/api/place/autocomplete/json?input=... | Places Autocomplete (predicciones con coordenadas) | Autocompletado de direcciones |
/maps/api/timezone/json?location=lat,lng×tamp=... | Time Zone API | Consulta de zona horaria |
/maps/api/elevation/json?locations=lat,lng|lat,lng | Elevation API | Consulta de elevación |
Ejemplo de respuesta
Esto es lo que devuelve la solicitud anterior. Los nombres de campo, el anidamiento y los tipos siguen a Google Maps. Solo los datos que hay detrás son nuestros.
{
"results": [
{
"address_components": [
{ "long_name": "1600", "short_name": "1600", "types": ["street_number"] },
{ "long_name": "Amphitheatre Parkway", "short_name": "Amphitheatre Pkwy", "types": ["route"] },
{ "long_name": "Mountain View", "short_name": "Mountain View", "types": ["locality", "political"] },
{ "long_name": "Santa Clara County", "short_name": "Santa Clara County", "types": ["administrative_area_level_2", "political"] },
{ "long_name": "California", "short_name": "CA", "types": ["administrative_area_level_1", "political"] },
{ "long_name": "United States", "short_name": "US", "types": ["country", "political"] },
{ "long_name": "94043", "short_name": "94043", "types": ["postal_code"] }
],
"formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
"geometry": {
"location": { "lat": 37.4224428, "lng": -122.0842467 },
"location_type": "ROOFTOP",
"viewport": {
"northeast": { "lat": 37.4237918, "lng": -122.0828977 },
"southwest": { "lat": 37.4210938, "lng": -122.0855957 }
}
},
"place_id": "mg.us.addr.5e1b2c7a9f",
"plus_code": { "compound_code": "CWC8+W5 Mountain View, CA, USA", "global_code": "849VCWC8+W5" },
"types": ["street_address"]
}
],
"status": "OK"
}Detalles y diferencias
No se necesita clave para las primeras 2.500 solicitudes al día. Para usar una clave de My Geocode, ponla donde iba tu clave de Google: el parámetro de consulta key o la cabecera X-Goog-Api-Key. La cabecera X-API-Key, Authorization: Bearer y la autenticación HTTP Basic (con la clave como nombre de usuario) también funcionan en todos los hosts, así que las bibliotecas cliente que se autentican a su manera siguen funcionando sin cambios.
- Los cuerpos de error coinciden con la API a la que llamaste: la Time Zone API responde
errorMessageconstatus, y las demás,error_message, la lista de resultados vacía y despuésstatus. - Las respuestas de zona horaria usan
ZERO_RESULTSen aguas abiertas, como Google, y respetanlanguage. - Elevation acepta
locations, una polilínea codificadaenc:ypathconsamples, hasta 512 puntos como permite Google; aquí cada punto cuenta como una solicitud.
Si tu cliente depende de un campo o de un comportamiento que no aparece aquí, dínoslo. Las carencias de compatibilidad se corrigen rápido porque suelen ser pequeñas.
Otros hosts compatibles
- Bing Maps
- HERE
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- TomTom
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
Cómo funcionan los hosts compatibles, el resumen y los reemplazos compatibles de bibliotecas JavaScript.