2013-02-19 4 views
3

Ищу геокодов с Google геокодирования-API:Google геокодирования API - поиск только в одной стране

http://maps.googleapis.com/maps/api/geocode/json?address=london%c2+UK&sensor=false 

Проблема заключается в том, что вход не очень точно (особенно на улице), а иногда google смешивает вещи и игнорирует Великобританию, потому что улица имеет идеальное совпадение (как улица и город) где-то в другом месте. например НАС.

Теперь я не могу решить эту проблему (входные данные), но мне интересно, есть ли параметр, который заставляет Google искать в Великобритании и не возвращает результат, а не полностью неверный результат.

ответ

8

Вы можете добавить фильтры компонентов в URL для ограничения результатов. В этом случае вы можете использовать:

http://maps.googleapis.com/maps/api/geocode/json?address=london%c2+UK**&components=country:UK**&sensor=false 

Для получения дополнительной информации о том, как использовать фильтрацию компонентов см:

https://developers.google.com/maps/documentation/geocoding/intro#ComponentFiltering

+0

спасибо за Ваш ответ - это работает, но для моего случая: если страна неправильный (ввод), это вернет в результате указанную страну. –

+2

Вы правы, поскольку api говорит: «Запрос, содержащий фильтр компонентов, будет возвращать только результаты геокодирования, соответствующие фильтру. Если совпадений не найдено, геокодер вернет результат, соответствующий самому фильтру ... Фильтрация компонентов возвращает ответ ZERO_RESULTS, только если вы предоставляете фильтры, которые исключают друг друга ». – jmm

+0

Вы делаете эти звонки с javascript? Если это так, вы можете рассмотреть использование объекта геокодирования из google maps api для javascript. Вы не сможете фильтровать результаты только для «смещения» их, но вы получите состояния ZERO_RESULTS. [link] (https://developers.google.com/maps/documentation/javascript/geocoding) – jmm