Короткий ответ - ваш пример Гамлет на самом деле решение Улица: Map Link
Чтобы ответить на ваш вопрос общего характера (например, угадывая вы это происходит в других местах, где это не на улице), а именно, как определить, как API-интерфейс геокодирования определил частичное совпадение. Если вы получаете маршрут, это означает, что вы вернули улицу (с номером или без номера). Гамлет должен отображаться как sublocality
или neighborhood
, если не его собственной местности (здесь, в Канаде, это то, что я видел):
- neighborhood
- sublocality
* Заметим, однако, что эти NOT действительные почтовые адреса в Канаде, что делает мои примеры немного отличающимися от указанных вами критериев.
Чтобы узнать, является ли маршрут точное совпадение или догадка, где коды состояния бывают:
От API Doc's:
"ROOFTOP" indicates that the returned result is a precise geocode for which we have location information accurate down to street address precision.
"RANGE_INTERPOLATED" indicates that the returned result reflects an approximation (usually on a road) interpolated between two precise points (such as intersections). Interpolated results are generally returned when rooftop geocodes are unavailable for a street address.
"GEOMETRIC_CENTER" indicates that the returned result is the geometric center of a result such as a polyline (for example, a street) or polygon (region).
"APPROXIMATE" indicates that the returned result is approximate.
Я бы ожидать, что вы увидите GEOMETRIC_CENTER
чаще всего для neighborhood
и sublocality
и RANGE_INTERPOLATED
чаще для дорог - но это догадка, и я думаю, что это зависит больше от того, сколько данных они имеют на месте и как алгоритм заканчивает вычисление точки.
Когда у вас есть Гамлет, возвращающийся как route
Я не верю, что есть какой-либо способ сказать только из возвращаемых данных API геокодирования, что это то, что произошло. Единственное решение, о котором я мог думать, - это обработать эти случаи в коде в вашем приложении на основе списка известных проблем, но я вижу, что это очень проблематично и трудоемко.
Возможно, это связано с концепцией деревни как почтово-административной, которая не переводит на отображение данных вообще? Я попытался найти здесь La Croix и не повезло: http://www.laposte.com/find_a_post_code/find
Еще одно примечание. Если API геокодирования разрешил Гамлет, а также улицу, у вас должно было быть много результатов, например, Yarmouth Обратите внимание на список типов в конце говорит вам тип возвращаемых результатов, а если у вас есть несколько результатов: "types" : [ "locality", "political" ]
Update
мне нужно было еще несколько примеров для меня, и решил посмотреть на тех, которые были бы также приносит пользу вашему вопросу. Я нашел этот список French Hamlets. Попытка несколько я получил следующие результаты:
- Blessey: sublocality
- Бретиньи: sublocality
- Hautacam: Либо не может быть найден в целом или парк, и показывает, как locality
- La Mongie: sublocality
- Ветчина/духовенство: locality Похоже, что могут быть некоторые, которые появляются как населенные пункты - возможно, порог размера - многие из подреберностей невероятно малы.
Я думаю, что можно с уверенностью предположить, что если что-то оценивает как маршрут ваш результат на улице, а не Амо < - (и думать, что я сделал плохо во французском Погружение здесь, в Канаде). Также, если вы получаете маршрут и подболоченность в результатах, это безопасная ставка, которая есть.
И, наконец, если вы знаете, что у вас есть какая-либо подслона и НЕ улица, и вы хотите указать это по адресу, я не верю, что API Google позволяет это. Есть и другие services that do, like ESRI. Я их не использовал и не знаю, как работает лицензирование, но у него, как и у Google, есть как бесплатная, так и подписная услуга.
И только для полноты - Я думаю, что я нашел La Croix с помощью сайта ESRI в "address": "La Croix, L'Île-d'Yeu"
записи из этого списка - Недостатком является то, что он не признает Fay-де-Бретань и дать однозначный ответ.
У вас есть адрес, где это случается? – putvande
@putvande: спасибо за ваш интерес. Я обновил свой вопрос на примере - дайте мне знать, если вам нужна какая-либо другая информация. – JMax