javascript - 如何将谷歌自动完成结果仅限于城市和国家

标签 javascript autocomplete google-maps-api-3

我正在使用 google autocomplete places javascript 来为我的搜索框返回建议的结果,我需要的是只显示与输入的字符相关的城市和国家,但 google api 会给出很多我不需要的一般地方结果,那么如何限制结果只显示城市和国家。

我正在使用以下示例:

<html>
<head>
<style type="text/css">
   body {
         font-family: sans-serif;
         font-size: 14px;
   }
</style>

<title>Google Maps JavaScript API v3 Example: Places Autocomplete</title>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places" type="text/javascript"></script>
<script type="text/javascript">
   function initialize() {
      var input = document.getElementById('searchTextField');
      var autocomplete = new google.maps.places.Autocomplete(input);
   }
   google.maps.event.addDomListener(window, 'load', initialize);
</script>

</head>
<body>
   <div>
      <input id="searchTextField" type="text" size="50" placeholder="Enter a location" autocomplete="on">
   </div>
</body>
</html>

最佳答案

你可以试试国家限制

function initialize() {

 var options = {
  types: ['(cities)'],
  componentRestrictions: {country: "us"}
 };

 var input = document.getElementById('searchTextField');
 var autocomplete = new google.maps.places.Autocomplete(input, options);
}

更多信息:

ISO 3166-1 alpha-2 可用于将结果限制为特定组。目前,您可以使用 componentRestrictions 来按国家/地区进行过滤。

国家必须作为两个字符传递,ISO 3166-1 Alpha-2 兼容的国家代码。


Officially assigned country codes

关于javascript - 如何将谷歌自动完成结果仅限于城市和国家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8282026/

相关文章:

javascript - 我如何调整这个 .autocomplete 以使其适用于多个单词?

javascript - 使用 CSS 隐藏输入后,文本输入框的自动完成下拉列表仍然存在

javascript - 如何在 Google Map Javascript API 中将自定义属性保存到 LatLng

javascript - 如果未嵌套在另一个函数中,函数将无法正常工作

javascript - 动态改变动画元素的属性

jquery - 自动完成组合框向上和向下键在 SlickGrid 中不起作用

javascript - jquery map 上的位置标记

javascript - Google map 嵌入 + 搜索框

javascript - 如何在字符串中搜索 "x"或 "any number"?

javascript - 使用 JavaScript 获取下拉选项的名称