尝试向您传递给构造函数bounds
的对象添加一个属性,如以下代码所示:options
Autocomplete
var southWest = new google.maps.LatLng( 25.341233, 68.289986 );
var northEast = new google.maps.LatLng( 25.450715, 68.428345 );
var hyderabadBounds = new google.maps.LatLngBounds( southWest, northEast );
var options = {
bounds: hyderabadBounds,
types: ['establishment [or whatever fits your usage]'],
componentRestrictions: { country: 'pk' }
};
如果您希望Autocomplete
边界由地图的当前视口驱动,您可以将地图的边界绑定到Autocomplete
以下方式:
autocomplete.bindTo('bounds', map);
或者,如果它在您的应用程序中工作得更好,您还可以选择在必要时显式设置边界:
autocomplete.setBounds( someOtherBounds );
这可能意味着您创建了一个默认城市,就像我在上面的示例中对 Hyberabad 所做的那样。或者您允许您的用户从城市列表中选择开始,然后将地图视口设置为所选城市。如果您像您已经在做的那样从of开始,Autocomplete
则会建议城市名称。您将知道什么最适合您的应用程序。componentRestrictions
country 'PK'
最后,这并没有真正完全地将其限制Autocomplete
在城市中,但它会尽可能地达到您希望的结果。