Я использую это: geocoder.geocode(geoRequest, function(results, status) { ... ... }
Проблема в том, что данные, возвращаемые геокодером, кажутся противоречивыми. Вероятно, стоит упомянуть, что когда я загружаю файл js для API карт перед вызовом геокодера, я указываю язык (а также указываю страну (например, AU для Австралии) в переменной geoRequest в файле geocoder.geocode. вызов).
Чтобы другим было проще увидеть, что я пытаюсь понять, мы можем просто использовать этот URL: http://maps.googleapis.com/maps/api/geocode/json?components=country:AU&language=en&address.=darwin
Интересная часть результата заключается в том, что этот запрос возвращает эти address_components long_name:
Австралия
Северная территория (short_name=NT)
Дарвин
Если я включу в поиск «улица Бриггса», я получу этот URL-адрес: http://maps.googleapis.com/maps/api/geocode/json?components=country:AU&language=en&address=briggs+street,darwin
затем я получаю эти address_components long_name:
Австралия
Северная территория (short_name=NT)
Муниципалитет Дарвина
Дарвин Сити
Бриггс-стрит
Мои вопросы:
Почему «Дарвин» не возвращается во втором примере, где я ищу «бриггс-стрит, дарвин»? В данном случае текст:
Муниципалитет Дарвина
Дарвин Сити
Можно ли сообщить API-интерфейсу геокодера, что я хочу, чтобы возвращались согласованные иерархические результаты, как с указанием, так и без указания, например. дорога?
Причина, по которой я спрашиваю, заключается в том, что я хочу собрать некоторую статистическую информацию на основе указанных пользователем местоположений, либо путем ввода названия города, либо улицы. Я надеюсь, что смогу использовать возвращенные component_addresses для создания базы данных с другой информацией от клиента (пользователя).
Но статистические отчеты не будут очень последовательными, если, например. нужно увидеть некоторые статистические данные для Дарвина (те, которые зарегистрированы пользователями, вводящими только «дарвин»), поскольку данные, введенные пользователем, вводящим «бриггс-стрит, дарвин», не будут получать данные, хранящиеся под местоположением «Дарвин» (как для первый пользователь) - поскольку "Дарвин" отличается от "Дарвин-Сити" и "Мини-города Дарвина".
Аналогичное несоответствие можно наблюдать при поиске "fulton street,brooklyn" и "brooklyn"
Этот поиск для Бруклина: ?components=country:US&address=brooklyn
возвращает:
США
Нью-Йорк (short_name=NY)
Кингс Каунти
Нью-Йорк
Бруклин
Но... этот поиск "fulton+street,brooklyn": ?components=country:US&address=fulton+street,brooklyn
возвращает:
США
Нью-Йорк (short_name=NY)
Кингс Каунти
Бруклин
Фултон-стрит
Почему между «Кингс Каунти» и «Бруклином» нет «Нью-Йорка» в последнем результате выше? Опять... кажется, есть некоторая несогласованность.