Результаты Google Geocode API отображаются на карте? - PullRequest
0 голосов
/ 21 ноября 2010

Я читаю API Google, но там не вижу примеров, а все остальные примеры Googled-by-me немного устарели (около 1-2 лет, большинство из них основаны на API-ключах: S).

Я хочу ввод текста.Отправить кнопку.И Iframe ниже.

Как отобразить местоположение на карте, используя мой собственный ввод?

На данный момент мой iframe выглядит так:

<iframe width="230" height="180" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="<?php echo $src ?>">

Ввод:

<input id="googleMaps" name="googleMaps" type="text" />

В данный момент я пытаюсь использовать XML (но насколько я знаю, рекомендуется JSON), но я получаю XML просто текст в моем iframe, например:

This document had no style information.
<GeocodeResponse>
<status>
OK
</status>
<result>
<type>
locality
</type>
<type>
political
</type>
<formatted_address>
(...)

Как передать эти данные в Google и получить карту обратно? :)

Большое спасибо.

1 Ответ

1 голос
/ 21 ноября 2010

Вам необходимо использовать Google Geocode API для обратного геокодирования вашего адреса, чтобы получить координаты, которые затем можно использовать для отображения результатов на карте.Например, для моего адреса я публикую параметры адреса, указанные в URL ниже

http://maps.googleapis.com/maps/api/geocode/json?address=154+Metro+Central+Heights+London+UK&sensor=true

Координаты могут быть получены из полученного JSON, как показано ниже

"geometry": {
      "location": {
        "lat": 51.5001524,
        "lng": -0.1262362
      }

PHP-код для получения JSON

<?php

$address = $_GET['address'];
$address=str_replace(" ","+",$address);
if ($address) {
    $json = file_get_contents('http://maps.googleapis.com/maps/api/geocode/json?address='.$address.
    '&sensor=true');
    echo $json;
}

?>

Javascript можно найти здесь .Критический код, который анализирует JSON, приведен ниже

$.getJSON("getjson.php?address="+address,
        function(data){
            lat=data.results[0].geometry.location.lat;
            lng=data.results[0].geometry.location.lng;
                        //.... more map initialization code
                 }
);

Я уже создал рабочий пример для вашего предыдущего вопроса здесь , который должен помочь вам понять, как генерировать маркеры на карте.,Дайте мне знать, если вам понадобятся дополнительные разъяснения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...