2016-03-03 91 views
1

这是我传递给地理编码器服务的字符串。Google地理编码器组件限制无法过滤

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

其中区域= GB是英国国家代码和,而不是伦敦,我传递林顿。 Componentrestrictions =地点只适用于城市!

但我的结果回来了,在美国的一些位置!

这不是你如何使用谷歌地理编码器的组件限制?

如果'林登'通过了,我不希望在这里看到任何结果,尤其是不是美国。

回答

0
  1. 没有参数componentRestrictions(此参数属于Javascript的API),用于web服务的参数被称为components
  2. 组件必须有一个名称(例如locality的值。在你的情况,当你想搜索一个城市叫林顿应该locality:Lindon
  3. region -parameter不限制的结果,只会更喜欢从给定区域的结果。 如果要将结果限制为GB,请使用组件country:gb。对于一个城市华盛顿

采样请求(因为它似乎没有城市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是编码管道(使用多个组件时的分隔符)。我在答案中使用了Pipe(Lindon-Link已经被SO修改)。当您请求服务时,您应该始终对参数进行编码。 –

相关问题