Расширение результатов геокодирования (возвращены все политические позиции)

Я пытаюсь расширить результаты поиска, возвращаемые геокодированием. По сути, я создаю ввод автозаполнения пользовательского интерфейса jquery, подобный этому http://tech.cibul.org/wp-content/uploads/2010/05/geocode/index.html (руководство здесь http://tech.cibul.org/geocode-with-google-maps-api-v3/).

Например, если я ввожу «ватерлоо» в строку адреса, я получаю 1 вариант: Ватерлоо, ON, Канада.

А как насчет всех остальных Ватерлоо? http://en.wikipedia.org/wiki/Ватерлоо

Это суть кода:

$('input[name="location"]').autocomplete({
    source: function(request, response) {
        geocoder.geocode( {'address': request.term }, function(results, status) {
            response($.map(results, function(item) {
                return {
                    label: item.formatted_address,
                    value: item.formatted_address,
                    latitude: item.geometry.location.lat(),
                    longitude: item.geometry.location.lng()
                }
            }));
        })
    }
});

person Community    schedule 06.04.2011    source источник


Ответы (1)


По моему опыту, невозможно заставить API геокодирования составить разумный список предложений местоположения даже с учетом смещения V3 и региона (связанный вопрос здесь).

То, что вы получаете через API, сильно отличается от того, что вы получаете при вводе неоднозначного имени в приложении «Карты». Я не знаю никакого обходного пути.

Я пришел к выводу, что если вы хотите предложить список географических названий, вам нужен какой-то другой источник данных, например Список городов из Википедии.

person Pekka    schedule 06.04.2011
comment
Да, я думаю, мне придется посмотреть на другой маршрут. Идея с википедией хороша, за исключением того, что я не хочу сужать список, предвзято возвращаемый порядок сначала показывает результаты для Великобритании и США. Например, я бы по-прежнему хотел, чтобы пользователь мог выбирать город, будь то Конго, Китай, США, Венесуэла, Великобритания или Германия. Блин, я и представить себе не мог, что это будет так тяжело. - person ; 06.04.2011
comment
@ Колин, я знаю, это воняет. У Google есть все данные, они должны без проблем предоставить список городов... Но по какой-то причине они этого не сделают. Если вы найдете решение для этого в API Карт, я был бы признателен за пинг, я согласился на компромисс на данный момент. Но, насколько я вижу, выхода нет. - person Pekka; 06.04.2011
comment
ознакомьтесь с моим обновлением по этому вопросу: stackoverflow.com/questions/5555307/ smart-location-form-field — я кое-что поработал здесь jsfiddle.net/ekzMN/ 95 и объединить его с Google Geocoder в качестве дополнительного источника, чтобы получить более качественные результаты. Это требует немного работы, хотя. Дайте мне знать, если вы придумаете какие-либо улучшения. Я отметил это как правильное, так как невозможно использовать только Google Geocoder. - person ; 14.04.2011
comment
@Colin очень интересно, спасибо за ссылку! Я это проверю. - person Pekka; 14.04.2011
comment
также проверьте это stackoverflow.com/questions/5714477/ Я создал плагин jquery. - person ; 19.04.2011