3

在这里需要一些帮助。

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

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

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

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

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

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

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

请帮忙!提前致谢

4

1 回答 1

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>

请参阅github 上的 geocomplete.js

于 2013-11-12T22:45:49.900 回答