Ir para conteúdo
Fórum Script Brasil
  • 0

Lista de cidades dentro de um raio especificado, usando o google Places ou outra API


Sandro2011

Pergunta

Boa tarde galera,

Preciso implementar em meu site uma busca de cidades vizinhas. A idéia é colocar um campo onde o usuário digita o nome da cidade e o raio de abrangência. O sistema teria de retornar as cidades dentro desse raio de abrangência.

Estou tentando utilizar a API para WEB do google Places, mas sem sucesso. Criei uma chave para utilizar o serviço e até obtive umas respostas da ferramenta, mas não consegui fazer funcionar dentro de um raio de abrangência (variável 'radius')

Pelo que pesquisei desta API não é possivel simplesmente colocar o nome de uma cidade e o raio... A API exige que sejam colocadas coordenadas (latitude e longitude)... até aí tudo bem. Mas em relação ao raio e ao retorno das cidades... não vai. Usei o type=locality e retornou apenas a cidade que estou e 1 cidade fora (nesse link abaixo)

https://maps.googleapis.com/maps/api/place/nearbysearch/xml?location=-23.190747,-46.898353&radius=15000&types=locality&key=CHAVE_DA_API_DO_GOOGLE

Retornou o XML:

<PlaceSearchResponse>
<status>OK</status>
<result>
<name>Jundiaí</name>
<vicinity>Jundiaí</vicinity>
<type>locality</type>
<type>political</type>
<geometry>
<location>
<lat>-23.1857076</lat>
<lng>-46.8978057</lng>
</location>
<viewport>
<southwest>
<lat>-23.2851939</lat>
<lng>-47.0192326</lng>
</southwest>
<northeast>
<lat>-23.0942032</lat>
<lng>-46.7941692</lng>
</northeast>
</viewport>
</geometry>
<icon>
https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png
</icon>
<reference>
CoQBcgAAADMrFt5-FDySIQlcY9R-doMfSAfDxXBCg28TMxRLK5Z-5krmlvssF9yo00keSQoewNjwPeUxsexxPq7ArJFfLNmLH5HGla0DYzJdOqbVVKzZ9AEVN2B7wz9RFwsMJYZ2ksuej6zktEalPraVqTjPIrQ6UrxrZ51kHcwNBH9ER1hwEhCsEOWjSOAYD6y_TZ9G-jUAGhSCLd8FIKKMFWeikbakajT6oxCqEw
</reference>
<id>15b357c6dce01a815cc7e3c319bbae4e7735200d</id>
<place_id>ChIJMQXAPCkkz5QRu2s8FsGhhvY</place_id>
<scope>GOOGLE</scope>
</result>
<result>
<name>Campo Limpo Paulista</name>
<vicinity>Campo Limpo Paulista</vicinity>
<type>locality</type>
<type>political</type>
<geometry>
<location>
<lat>-23.2082810</lat>
<lng>-46.7893658</lng>
</location>
<viewport>
<southwest>
<lat>-23.2671527</lat>
<lng>-46.8056599</lng>
</southwest>
<northeast>
<lat>-23.1548100</lat>
<lng>-46.7031913</lng>
</northeast>
</viewport>
</geometry>
<icon>
https://maps.gstatic.com/mapfiles/place_api/icons/geocode-71.png
</icon>
<reference>
CoQBfgAAAHTbUV4qx-Uv30cVSzWobPtkJLGCFDg9Kd4JgUcoOlH6h_hFhgG3hGarPCnOm2YRUXGavWhmpYl0iscwgA1QYKOytVHOLcvzshtalmwfmzpEAgBR_IEQtIGFg3GA4a-Edl2orYRtmlQ8cNdbZ3Ie_AXYghq4boKHTVe1vbiify4ZEhBF0lC7Hax0FSROlr_7yUZBGhSiuE62P964l7q-ca7JgWyZKuR4Rw
</reference>
<id>26d5f3651db693b4ec3d21cdb74fed46e444e1f5</id>
<place_id>ChIJOWY9RXzezpQRAUnydlhP47A</place_id>
<scope>GOOGLE</scope>
</result>

Como se pode ver, retornou apenas Jundiai e Campo Limpo Paulista, quando na verdade existem mais cidades nesse raio do link..

Se alguém puder me dar uma nova idéia de ferramenta, webservice, API, ajudaria muito!

Pensei em pegar a lista do IBGE a fazer triangulações, mas o BD ficaria muito grande...

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...