2016-03-03 2 views
1

Вот моя строка, которую я передаю в службу геокодирования.GoogleGococoder не ограничивает фильтрацию

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=Lindon&region=GB&componentRestrictions=locality

где область = ГБ код страны для Соединенного Королевства, и вместо Лондона я передаю в Линдон. Componentrestrictions = местность должна быть только для городов!

Но мои результаты возвращаются с некоторым местоположением в США!

Разве это не то, как вы используете ограничения на компоненты для геокодера google?

Я не хочу видеть никаких результатов здесь, если «Линдон» принят, особенно не для США.

ответ

0

Добавить параметр «, GB» для параметра адреса.

http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=Lindon,UK&region=GB&componentRestrictions=locality&language=en enter image description here

Параметр области является просто "смещающим", не ограничивается областью. https://developers.google.com/maps/documentation/javascript/geocoding#GeocodingRegionCodes

По моему опыту, код страны, почтовый индекс, работает для большинства случаев.

0
  1. нет параметра componentRestrictions (этот параметр относится к Javascript-API), параметр для Webservice называется components
  2. компонент должен иметь имя (например. locality) и значение. В вашем случае, если вы хотите найти в городе под названием Линдон должна быть locality:Lindon
  3. region параметрических не ограничивают результаты, только предпочитают результаты данного региона. Используйте компонент country:gb, если вы хотите ограничить результаты в ГБ.

Sample-запрос для города Вашингтон (как это кажется, нет ни одного города Lindon in the UK)

http://maps.googleapis.com/maps/api/geocode/xml?components=locality:Washington|country:gb

+0

что% 7 в запросе Линдон? или почему вы использовали | в одном запросе и% 7 в другом? – user1186050

+0

вы можете указать ссылку, где говорится «компоненты», а не «компоненты ограничений». Я использую эту ссылку. Https://developers.google.com/maps/documentation/javascript/geocoding#ComponentFiltering – user1186050

+0

% 7 является закодированным Труба (разделитель при использовании нескольких компонентов). Я использовал трубку в своем ответе (Lindon-Link был изменен SO). Когда вы запрашиваете услугу, вы всегда должны кодировать параметры. –

Смежные вопросы