Вернуть список возможных совпадений адресов из гугла?

Я пытаюсь добавить функциональность в свое веб-приложение, которое позволяет пользователю вводить оценку адреса, например «McDonalds, Detroit, MI», а затем выбирать точный адрес из списка возможных совпадений.

Я уже знаком с прямым геокодированием (адрес -> lat, lng) и обратным геокодированием (lat, lng -> адрес). Кто-нибудь знает, как я могу выполнить вышеуказанное, используя только API геокодирования Google?

Спасибо!


person TomBomb    schedule 28.02.2011    source источник


Ответы (3)


Когда вы геокодируете адрес, Google возвращает список возможных совпадений в ответе

Запрос геокодирования для основной страницы возвращает 2 результата в Нью-Йорке, 1 в Юте, 1 в штате Мэн и т. д.

Вы просто анализируете ответ, чтобы получить разные местоположения

person Galen    schedule 28.02.2011

Вы не можете. Геокодер Google в большинстве случаев не соответствует местоположению компании. Вам нужна комбинация локального поиска + геокодирования или услуги предложения адреса, которую служба геокодирования Google не предлагает.

person Ossama    schedule 28.02.2011

Гален прав, вот рабочий код для V3 - я нашел предложения в атрибуте Placemarks результатов. Попробуйте адрес = "Broad Street" в приведенном ниже примере.

if (geocoder) {
                geocoder.getLocations(
                address,
                function (results) {
                    if (!results) {
                        alert(address + " no suggestions");
                    } else {
                        $('#output').html('');
                        if (results.Placemark) {
                            for (var i = 0; i < results.Placemark.length; i++) {
                                $('#output').append(i + ': ' + results.Placemark[i].address + '<br/>');
                            }
                        }
                    }
                });
            }
person Francis Shanahan    schedule 20.04.2011