我需要 Google 地点自动完成功能来为我提供来自以下国家/地区的结果:SZ、FR、DE、AT、IT。我知道
componentRestrictions
只能与一个国家/地区合作。
那么,有没有办法在 Google 地方信息自动完成中获取多个县的结果?
我的页面是从地点自动完成地址表单示例复制粘贴的:
从 3.2.7 版本开始,您可以使用数组作为 componentRestrictions。例如:
{ country: ["fr","ch","be"] }
但是,国家数量仅限于 5 个。
此功能于 2017 年 1 月在 Maps JavaScript API 3.27 版本中引入:
您现在可以将自动完成预测限制为仅显示来自多个国家/地区的结果。您可以通过在 AutocompleteOptions 的 componentRestrictions 字段中指定最多 5 个国家/地区来完成此操作。
https://developers.google.com/maps/documentation/javascript/releases#327
要小心,因为如果您限制为“FR”,它会忽略法国海外部门。 因此,要拥有法国全境的城市,您需要:
'fr', 'gp', 're', 'mq', 'gf', 'nc', 'yt', 'pf'
但是由于超过了5个,所以不可能限制到整个法国。
谷歌地图认为法国海外省份不在法国境内;这是一个大问题。
您也可以省略
componentRestrictions: {country: "XX"}
从任何地方返回结果。
var options = {
types: ["geocode"],
// componentRestrictions: {country: "US"}
};
this.autocomplete = new google.maps.places.Autocomplete(document.getElementById(autocompleteField), options);