我想将我的谷歌地图的搜索结果限制在特定的latLngBounds范围内.
places search api - 列出这个addListener函数来改变边界:
google.maps.event.addListener(map, 'bounds_changed', function() {
var bounds = map.getBounds();
searchBox.setBounds(bounds);
});
Run Code Online (Sandbox Code Playgroud)
我将其替换为:
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(-33.8902, 151.1759),
new google.maps.LatLng(-33.8474, 151.2631));
searchBox.setBounds(defaultBounds);
Run Code Online (Sandbox Code Playgroud)
但它似乎不起作用.任何人都能指出我正确的方向将搜索结果限制为默认边界,而不管当前的地图视点?
以下是我基于API的当前代码:
function initialize() {
var markers = [];
var map = new google.maps.Map(document.getElementById('map-canvas'), {
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var defaultBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(30.9128292, -98.8563538),
new google.maps.LatLng(30.0964251, -97.9431152));
map.fitBounds(defaultBounds);
// Create the search box and link it to the UI element.
var input = /** @type {HTMLInputElement} */(
document.getElementById('pac-input'));
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input); …Run Code Online (Sandbox Code Playgroud)