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
  • maps.googleapis.com
Use no lugargapi.mygeocode.com
Parâmetro da chavekey (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)
Antes
curl "https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_GOOGLE_KEY"
Depois
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.

Ver preços Obtenha uma chave grátis

Endpoints

Caminho em gapi.mygeocode.comO que fazBaseado em
/maps/api/geocode/json?address=...Geocodificação diretaGeocodificação direta
/maps/api/geocode/json?latlng=lat,lngGeocodificação reversaGeocodificaçã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&timestamp=...Time Zone APIConsulta de fuso horário
/maps/api/elevation/json?locations=lat,lng|lat,lngElevation APIConsulta 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.

Resposta de gapi.mygeocode.com
{
  "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 errorMessage com status; as outras, error_message, a lista de resultados vazia e depois status.
  • As respostas de fuso horário usam ZERO_RESULTS em mar aberto, como o Google, e respeitam language.
  • Elevation aceita locations, uma polilinha codificada com enc: e path com samples, 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

Como funcionam os hosts compatíveis, a visão geral e os substitutos para bibliotecas JavaScript.