ПРОСТОЕ обратное геокодирование с использованием Nominatim

Я разрабатываю онлайн-картографическое приложение с использованием OpenLayers + OpenStreetMaps.

Мне нужна помощь в реализации простой функции обратного геокодирования в javascript (или php), которая получает широту и долготу и возвращает адрес.

Я хотел бы работать с Nominatim, если это возможно. Я НЕ хочу использовать Google, Bing или CloudMade или другие проприетарные решения.

эта ссылкавозвращает разумный ответ, и я использовал simple_html_dom.php, чтобы разбить результат, но это довольно уродливое решение.

find('road') as $element ) {
    echo $element;
}

?>  

любые предложения более элегантного решения?

ПРИМЕЧАНИЕ.по состоянию на октябрь 2015 г. запрос должен включать действующий адрес электронной почты, чтобы «обеспечить достаточную идентификацию вашего приложения».

Без электронного письма код возврата будет НЕ в формате xml или json, а скорее как ошибка 509 «Превышение пропускной способности», попробуйте использовать библиотеку html_dom для очистки.

$url = "http://nominatim.openstreetmap.org/reverse?email=myemail@myserver.com&format=xml&lat=-23.56320001&lon=-46.66140002&zoom=27&addressdetails=1";

5
задан tony gil 9 October 2015 в 17:18
поделиться