【问题标题】:Google Map API + Places Autocomplete : specific countries?Google Map API + Places Autocomplete:特定国家/地区?
【发布时间】:2017-08-28 09:45:18
【问题描述】:

我正在开发一个在比利时和法国提供送货上门服务的网站。

在本网站中,有一个使用来自 Google 的自动完成地址表单的搜索输入(使用 Google Map API + Place 库)。我举个例子:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform?hl=fr

它工作得很好,但是当我在输入中输入第一个字母时,它会显示来自美国、加拿大、西班牙等的结果(邮政地址)。

这对这个项目没有意义。它应该只显示来自比利时或法国的结果(或者最终应该首先显示来自比利时/法国的结果)。

我知道可以选择将结果限制在特定国家/地区,但这不是解决方案。我不能将结果限制为仅“法国”或仅“比利时”

我该怎么办?

非常感谢

【问题讨论】:

  • 这正是我所需要的!谢谢。但是为什么我的问题是-1?这是不尊重的。这不是一个愚蠢的问题。
  • 真的吗?请不要无礼。我浪费了大量时间阅读文档和测试样本。您的链接没有出现在我的 Google 结果中。并告诉我为什么我的语言菜单中缺少“将自动完成限制在多个国家/地区”?你看到的:hpics.li/d1ae6e1 我看到的:hpics.li/c599c95

标签: google-maps google-api


【解决方案1】:

我无法从 cmets 中完全判断您是否能够解决这个问题,所以我会发布我的答案。

一旦你有了一个自动完成对象,你只需要设置组件限制。以下是我的做法:

var autocomplete = new google.maps.places.Autocomplete(input);

// Set initial restrict to the greater list of countries.
autocomplete.setComponentRestrictions({'country': ['FR', 'BE']});

我有一个有效的 JSFiddle,这些限制已经到位,将结果限制在比利时和法国,就像你想要的那样。请注意,您需要将自己的 API 密钥放入其中才能正常工作,因为为了安全起见,我已对我的密钥进行了编辑:

https://jsfiddle.net/ztqgc4tw/

我希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2017-08-05
    • 2012-07-23
    • 1970-01-01
    • 2016-06-22
    • 2015-09-03
    • 2015-02-06
    • 2016-04-02
    • 2016-06-29
    • 1970-01-01
    相关资源
    最近更新 更多