Извлечение геоданных из Google API при создании новой записи в БД - PullRequest
0 голосов
/ 13 октября 2010

У меня есть объект, который одним из его членов является фактическим городом, страной, в которой он был "создан" - пользователь дает мне только координаты широты и длины, и мне нужно использовать API Google для обратного геокодирования координат в город,страна.

Мой вопрос - каков наилучший способ получить эту информацию?Достаточно ли безопасно использовать сторонний веб-сервис в процессе создания записи?Каковы общие способы сделать это?

1 Ответ

1 голос
/ 13 октября 2010

Это, безусловно, достаточно безопасно. Единственная проблема - это время ответа (так как вы будете вызывать удаленный веб-сервис синхронно), но если вы делаете это один раз только для каждой вставки, я не думаю, что это будет большой проблемой.

API геокодирования Google вернет результаты в формате XML , поэтому вам просто нужно позвонить по URL-адресу веб-службы и извлечь необходимую информацию из ответа.

Вот пример результата обратного геокодирования:

http://maps.googleapis.com/maps/api/geocode/xml?latlng=40.714224,-73.961452&sensor=false

Вы не говорите, какой язык используете, но я предполагаю, что PHP - вот очень простой пример анализа ответа и отображения адресов с использованием SimpleXML :

$lat = 40.714224;
$lng = -73.961452;

$xml = simplexml_load_file("http://maps.googleapis.com/maps/api/geocode/xml?latlng=" . $lat . "," . $lng . "&sensor=false");

foreach($xml->result as $result)
{
    foreach($result->address_component as $addresscomponent)
    {
        echo $addresscomponent->long_name . ' ';
    }

    echo '<br />';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...