【发布时间】:2018-07-20 13:47:01
【问题描述】:
我希望“地点”自动完成小部件能够推荐法国境内的地点,但不限于法国。我遵循official guide 并添加了边界(我设置了一个不会在法国以外溢出的矩形边界),但是为第一个数字字符返回的位置大部分时间都超出了边界。
我在参考资料中看到了 bound 是有偏差的,并且不限于 bound,但是这个偏差似乎太弱了。有什么方法可以让它变强吗? (参数?)
示例:https://codepen.io/benjamin-chevillon/pen/XBrNLZ:
new google.maps.places.Autocomplete(inputBounded, {
types: ["geocode"],
bounds: autocompleteBounds
});
例如,当我输入“33”时,5 条建议中有 4 条超出了范围。而仅限于法国的小部件返回很多带有“33”的地方。
在official Google example 上,自动完成边界链接到地图。默认情况下,地图以悉尼为中心。如果您输入“33”,您将获得澳大利亚的位置。但是如果你搬到法国,你会得到欧洲的建议(但在法国之外)。我看到只有当我们开始输入数字时才会发生这种情况。但在法国,这是描述邮政地址的常用方式。
我创建了一个问题 https://issuetracker.google.com/issues/111234226,但他们将我重定向到 SO。
【问题讨论】:
-
嗯,我想你回答了你自己的问题。结果要么有偏见,要么仅限于某些地区、国家等。您将问题提交为错误。如果您希望 Google 增加更多灵活性,我相信这应该是一个功能请求。也就是说,搜索数字有点模糊。如果我只输入“rue”(街道),那么所有结果都在法国......现在为什么带有“33”的法国以外的地址似乎比其他地址更重要......我无法回答这个问题。
-
也就是说,您可以使用Autocomplete Service 构建您自己的自动完成小部件,这使您可以完全灵活地显示结果。例如,您可以混合 2 个请求,1 个带有国家/地区限制,1 个不带(或带有其他参数),并以某种方式合并来自 2 个请求的结果(或单独显示它们......任何适合您的)。
-
您可以查看this answer 以获取有关如何使用该服务的示例...如果有帮助的话。
-
您是否尝试过您引用的问题跟踪器中建议的
strictBounds参数?
标签: google-maps-api-3 google-places-api