如何使用Google Places API textSearch按国家/地区进行约束?

时间:2017-01-11 04:27:30

标签: google-maps google-places-api geocoding

目前Google Places API不支持componentRestrictions,因此您无法将Places API搜索限制在特定国家/地区。这可能会产生各种意想不到的行为,例如搜索在美国(River Vale)而不是新加坡(Rivervale)找到的“rivervale”(见Codepen)。

我目前的解决方案是通过将国家/地区附加到搜索字符串(例如,“rivervale singapore”)来依赖区域偏差。但是,这种方法也不是万无一失的,因为任何名称中包含国家/地区名称的位置也可能会出现在目标国家/地区之外的结果中。

是否有另一种方法可靠地禁止Places API搜索以仅查找指定国家/地区内的位置?

更新:我知道您可以通过地方自动填充功能小部件添加componentRestrictions,例如:

var autocomplete = new google.maps.places.Autocomplete(input, {
  componentRestrictions: {
    country: 'SG'
  }
}

这确实限制了自动完成下拉列表以在新加坡找到Rivervale,但是如果用户在没有从自动完成列表中选择的情况下按Enter键,则会返回美国River Vale的标记。

0 个答案:

没有答案