Jump to content
Fórum Script Brasil
  • 0

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


Sandro2011
 Share

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...