Substituto compatível (drop-in) da Google Maps Platform
Os serviços web Geocoding, Places Autocomplete, Time Zone e Elevation respondem todos nos mesmos caminhos em gapi.mygeocode.com, com a mesma estrutura de JSON que o Google retorna. Troque o host, coloque sua chave do My Geocode no parâmetro key e o resto do seu código fica como está.
Troque um nome de host
| Host original |
|
|---|---|
| Use no lugar | gapi.mygeocode.com |
| Parâmetro da chave | key (opcional: qualquer endereço recebe 2.500 requisições por dia sem chave; coloque aqui sua chave do My Geocode para crédito, pacotes e histórico 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 que as pessoas migram
O Google exige uma conta de faturamento e uma chave em toda chamada, e cobra por requisição em cada SKU. Aqui uma chave grátis cobre as primeiras 2.500 chamadas por dia, e o preço depois disso é € 0,0001 por requisição ou um valor fixo de € 50 por mês.
A mesma cota gratuita, com ou sem chave. As requisições para gapi.mygeocode.com contam para as mesmas 2.500 requisições gratuitas por dia que o seu endereço, ou a sua chave, recebe nos nossos próprios endpoints. Acima disso, crédito pré-pago a € 0,0001 por requisição, ou € 50 por mês por uma chave Unlimited. Para se cadastrar, basta um endereço de e-mail.
Endpoints
| Caminho em gapi.mygeocode.com | O que faz | Baseado em |
|---|---|---|
/maps/api/geocode/json?address=... | Geocodificação direta | Geocodificação direta |
/maps/api/geocode/json?latlng=lat,lng | Geocodificação reversa | Geocodificação reversa |
/maps/api/place/autocomplete/json?input=... | Places Autocomplete (previsões com coordenadas) | Preenchimento automático de endereços |
/maps/api/timezone/json?location=lat,lng×tamp=... | Time Zone API | Consulta de fuso horário |
/maps/api/elevation/json?locations=lat,lng|lat,lng | Elevation API | Consulta de altitude |
Exemplo de resposta
Isto é o que a requisição acima retorna. Nomes de campo, aninhamento e tipos seguem o Google Maps. Só os dados por trás deles são nossos.
{
"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"
}Detalhes e diferenças
Nenhuma chave é necessária para as primeiras 2.500 requisições por dia. Para usar uma chave do My Geocode, coloque-a onde ficava a sua chave do Google: o parâmetro de consulta key ou o cabeçalho X-Goog-Api-Key. O cabeçalho X-API-Key, Authorization: Bearer e a autenticação HTTP Basic (a chave como nome de usuário) também funcionam em todos os hosts, então bibliotecas cliente que se autenticam do próprio jeito continuam funcionando sem mudanças.
- Os corpos de erro correspondem à API que você chamou: a Time Zone API responde
errorMessagecomstatus; as outras,error_message, a lista de resultados vazia e depoisstatus. - As respostas de fuso horário usam
ZERO_RESULTSem mar aberto, como o Google, e respeitamlanguage. - Elevation aceita
locations, uma polilinha codificada comenc:epathcomsamples, até 512 pontos, como o Google permite; aqui cada ponto conta como uma requisição.
Se o seu cliente depende de um campo ou comportamento que não está listado aqui, avise-nos. Lacunas de compatibilidade são corrigidas rapidamente porque costumam ser pequenas.
Outros hosts compatíveis
- Bing Maps
- HERE
- Mapbox
- Geocode.Farm
- Nominatim (OSM)
- OpenCage
- LocationIQ
- Geoapify
- TomTom
- MapQuest
- Geocodio
- PositionStack
- ip-api
- ipinfo
- ipstack
- Open-Elevation
Como funcionam os hosts compatíveis, a visão geral e os substitutos para bibliotecas JavaScript.