如何将Google Places API绑定到仅限美国的地址?

时间:2013-11-12 22:19:50

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

需要一些帮助。

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

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

要了解我的意思,请尝试在上面的示例中键入“91333”,这是Pacoima市的CA邮政编码。但你也会看到它表明瑞典和斯洛伐克是条目。

我尝试过无数种方法,包括国家限制: componentRestrictions:{country:“us”}。

我已经按照谷歌的方法进行了记录。在他们的例子中,他们似乎有效:

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

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

请帮忙!提前致谢

1 个答案:

答案 0 :(得分:2)

基本上,您需要将组件限制附加到请求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