【问题标题】:How to bind Google Places API to US Only Addresses?如何将 Google Places API 绑定到仅限美国的地址?
【发布时间】:2013-11-25 07:22:51
【问题描述】:

在这里需要一些帮助。

这是我的设置和我使用的表单样式的一个很好的例子。 http://ubilabs.github.io/geocomplete/examples/form.html

我的目标是创建一个简单的表单,一旦用户输入有效的邮政编码,它就会自动填写包含城市、州的表单。一切都很好,除了我无法将它绑定到仅限美国的地址。有时会输入一个有效的 5 位数 zip,但随后会自动填充到非美国地址。

要了解我的意思,请尝试在上面的示例中输入“91333”,这是帕科伊马市的 CA 邮政编码。但您也会看到它建议将瑞典和斯洛伐克作为条目。

我尝试了无数种方法,包括国家限制: 组件限制:{国家:“我们”}。

我遵循了 Google 的方法,他们记录在案。在他们的示例中,他们似乎可以正常工作:

http://googlegeodevelopers.blogspot.com.au/2012/05/faster-address-entry-with-google-places.html

但我认为解决方案必须将他们所做的调整到 GeoComplete Jquery 插件中,因为我还没有让它工作。

请帮忙!提前致谢

【问题讨论】:

    标签: jquery forms google-maps-api-3 google-places-api


    【解决方案1】:

    基本上,您需要将组件限制附加到请求 url: 考虑geocode api docs中的这个例子:

    http://maps.googleapis.com/maps/api/geocode/json?address=santa+cruz&components=country:ES&sensor=false

    您应该能够在初始化 geocomplete.js 插件时传递一个国家/地区。

    <script>
      $(function(){
        $("#geocomplete").geocomplete({
          map: ".map_canvas",
          details: "form",
          country: "US",
          types: ["geocode", "establishment"]
        });
    
        $("#find").click(function(){
          $("#geocomplete").trigger("geocode");
        });
      });
    </script>
    

    geocomplete.js on github

    【讨论】:

    • 我还发现了country limits的例子
    • 感谢您的回复。实际上,我确实尝试过像这样的国家限制,但没有任何效果。我不知道这是插件的问题,还是谷歌忽略了他们 API 中的限制。
    • 尝试下载 github repo 并在浏览器中打开 /examples/country_limit.html - 它确实有效。您的设置肯定有其他问题
    • 我相信这就是答案(使用他们的仓库)。我有国家界限的方式是不正确的。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-06-22
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 2014-04-17
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多