Como consultar endereço com coordenadas usando o Nominatim?

Pessoal, SOCORRO!!

Já tentei uns 30 códigos diferentes (sem exagero algum) através de pesquisa na internet e não consigo obter o resultado via código php.

O último que tentei sem sucesso foi:

$url = “http://nominatim.openstreetmap.org/reverse?&format=xml&lat=-23.56320001&lon=-46.66140002&zoom=27&addressdetails=1”;

$html = file_get_html($url);
foreach ($html->find(‘road’) as $element ) {
echo $element;
}

Como faço isso funcionar??

Tentei requisitar pela url e para mim deu erro tipo “HTTP request failed! HTTP/1.1 429 Too Many Requests”, ou seja, creio que o servidor negou devido a quantidade de requisições (?!?!pq?!?!?) . Não sei se não é o mesmo problema que está ocorrendo para você, então baixei o xml e salvei no mesmo diretório do arquivo seguinte em php como “reverse.xml”
Com a $url alimentada com o arquivo baixado funciona perfeitamente o seguinte código:

<?php $url = "[http://nominatim.openstreetmap.org/reverse?&format=xml&lat=-23.56320001&lon=-46.66140002&zoom=21&addressdetails=1](http://nominatim.openstreetmap.org/reverse?&format=xml&lat=-23.56320001&lon=-46.66140002&zoom=21&addressdetails=1)"; //$url = "reverse.xml"; $xml = simplexml_load_file($url); $road = $xml->addressparts->road; $city = $xml->addressparts->city; echo $road.", ".$city; echo "

"; $lat = $xml->result["lat"]; $lon = $xml->result["lon"]; $completo = $xml->result; echo "O endereço completo para latitude[" .$lat."] e longitude [" .$lon."] é:
".$completo; ?>

Testa aí e diz se conseguiu.

MUITO OBRIGADO!!! Deus que lhe retribua o carinho e a atenção. FUNCIONOU PERFEITAMENTE!!!

O erro que estava dando era realmente o número excessivo de requisições. A única ação que fiz foi sobrepor seu código ao meu. Agora, eu gostaria de entender o que você fez exatamente. Como assim “baixei o xml”?? Como se faz isso???

Baixei = salvei o arquivo “http://nominatim.openstreetmap.org/reverse?&format=xml&lat=-23.56320001&lon=-46.66140002&zoom=21&addressdetails=1” (CTRL+S) no computador.

Mas esse erro de excesso de requisições tá me perturbando. É sabido que o OSM tem limites para acesso a API, de modo a não sobrecarregar os servidores. Mas isso tá fora do normal. Acho que deve haver algum erro.

Salvar o arquivo neste caso só serviu para teste. Nada mais é que ter no computador a versão do arquivo que está online.

Você terá que dar uma lida na API do Nominatim. Quantas requisições pode fazer por dia. Essas coisas. E se de cara você notar que o número de acessos a sua aplicação vai ultrapassar esse limite, talvez seja melhor implementar a leitura do arquivo XML do lado cliente (javascript) e não servidor (php).

bom trabalho.

Ok!! Mais uma vez, OBRIGADO!!