jquery - 有没有办法限制 Google 地点自动完成功能搜索城市的街道?

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

使用 Google 地方信息自动完成时,我可以将搜索限制在城市街道吗?

最佳答案

您可以设置自动完成选项以使用geocode作为类型,这将限制返回到地址的结果:

var input = document.getElementById( 'searchTextField' );
var options = {
  bounds: yourBounds,
  types: ['geocode']
};

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

无法将结果限制在仅仅街道上,但这将在很大程度上实现您想要的效果。如果您正确设置yourBounds(可能仅限于城市区域),它将使您尽可能接近当前的范围。

更新对评论的回复:

如果您想从输入城市开始,可以将 map 的边界绑定(bind)到自动完成的边界,这样当在中选择城市时, map 就会自动设置其视口(viewport)。 >自动完成:

var options = {
  bounds: yourBounds,
  types: ['(cities)']
};
autocomplete =
    new google.maps.places.Autocomplete( input, options );
// This will bind the map's bounds to the Autocomplete's bounds:
autocomplete.bindTo('bounds', map);

然后,您可以更新自动完成的类型,与上面类似,以使其返回地址:

autocomplete.setTypes( [ "geocode" ] );

从那里,您可以阅读 Places Library API Docs .

关于jquery - 有没有办法限制 Google 地点自动完成功能搜索城市的街道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10653023/

相关文章:

google-maps - 直接通过 Google( map ) 'reference key' 查找 Google 地点 'cid'

javascript - JQuery - 获取事件对象的父级

javascript - 按钮执行Python脚本,使用jquery?

javascript - 选择框打开onclick方向——向上和向下都显示数据

javascript - 需要在infowindow中添加 "directions to here"链接

javascript - 仅在选择输入时获取谷歌位置自动完成值

javascript - ng-repeat 元素没有显示

javascript - Chrome 设备模式下 Google map 标记图标周围的空白区域

google-maps-api-3 - 谷歌地图动态改变语言(异步加载)

iphone - 在 google place API 的单个 URL 中查找 "Shopping_mall"和 "food"