Google Maps Geocoding API区域与组件之间有何区别:国家/地区参数?

时间:2016-12-26 13:23:04

标签: google-maps google-geocoding-api

我正在使用Google Maps Geocoding API来获取在商店定位器地址过滤器中输入地址的几何边界(东北,西南值)。

示例:

当我使用components=country:SG参数搜索新加坡的地址(邮政编码,街道名称,地标)时,它只在address_components结果集中提供一个值,并且此几何边界也是如此对于给定的地址,值不正确。

https://maps.googleapis.com/maps/api/geocode/json?address=14%20Scotts%20road&components=country:SG

当我使用region=SG参数搜索新加坡的地址(邮政编码,街道名称,地标)时,它会在address_components结果集中提供多个值以及此几何边界值对于给定的地址是正确的。

https://maps.googleapis.com/maps/api/geocode/json?address=14%20Scotts%20road&region=SG

所以在这里我想知道这两种方法之间的区别和更好的调用方式(region=SG vs components=country:SG)。

1 个答案:

答案 0 :(得分:3)

来自the documentation

  
      
  • 区域 - 区域代码,指定为ccTLD("顶级域")双字符值。此参数仅影响(而非完全限制)地理编码器的结果。 (有关详细信息,请参阅下面的Region Biasing。)

  •   
  • 组件 - 组件过滤器,由管道(|)分隔。每个组件过滤器由一个组件:值对组成,将完全限制地理编码器的结果。有关详细信息,请参阅下面的Component Filtering

  •   

当您在国家/地区过滤时,您会获得该国家/地区的结果(在您的示例中,结果是针对新加坡的国家/地区)。如果您对该地区有偏见,则返回的结果更喜欢该国家/地区的结果(听起来像您想要的那样),但不会将其限制在该国家/地区,并会返回地址的结果。