需要在 Google 地方信息自动完成中设置多个国家/地区组件限制

问题描述 投票:0回答:4

我需要 Google 地点自动完成功能来为我提供来自以下国家/地区的结果:SZ、FR、DE、AT、IT。我知道

componentRestrictions
只能与一个国家/地区合作。 那么,有没有办法在 Google 地方信息自动完成中获取多个县的结果?

我的页面是从地点自动完成地址表单示例复制粘贴的:

google-maps google-maps-api-3
4个回答
17
投票

从 3.2.7 版本开始,您可以使用数组作为 componentRestrictions。例如:

{ country: ["fr","ch","be"] }

但是,国家数量仅限于 5 个。


12
投票

此功能于 2017 年 1 月在 Maps JavaScript API 3.27 版本中引入:

您现在可以将自动完成预测限制为仅显示来自多个国家/地区的结果。您可以通过在 AutocompleteOptions 的 componentRestrictions 字段中指定最多 5 个国家/地区来完成此操作。

https://developers.google.com/maps/documentation/javascript/releases#327


11
投票

要小心,因为如果您限制为“FR”,它会忽略法国海外部门。 因此,要拥有法国全境的城市,您需要:

'fr', 'gp', 're', 'mq', 'gf', 'nc', 'yt', 'pf'

但是由于超过了5个,所以不可能限制到整个法国。

谷歌地图认为法国海外省份不在法国境内;这是一个大问题。


0
投票

您也可以省略

componentRestrictions: {country: "XX"}
从任何地方返回结果。

var options = {
            types: ["geocode"],
            // componentRestrictions: {country: "US"}
        };

this.autocomplete = new google.maps.places.Autocomplete(document.getElementById(autocompleteField), options);
© www.soinside.com 2019 - 2024. All rights reserved.