Javascript 谷歌地图中搜索后的相关缩放
我刚刚在地图中添加了搜索框,但在搜索某个地方(如国家或城市)后,结果并不理想。市场被设置在中心位置,放大的幅度很大 如何根据位置的大小自动定义边界?当搜索结果包含多个位置时,缩放效果良好 以下是我的代码部分:Javascript 谷歌地图中搜索后的相关缩放,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我刚刚在地图中添加了搜索框,但在搜索某个地方(如国家或城市)后,结果并不理想。市场被设置在中心位置,放大的幅度很大 如何根据位置的大小自动定义边界?当搜索结果包含多个位置时,缩放效果良好 以下是我的代码部分: var input = (document.getElementById('pac-input')); map.controls[google.maps.ControlPosition.TOP_LEFT].push(input); var searchBox = new google.m
var input = (document.getElementById('pac-input'));
map.controls[google.maps.ControlPosition.TOP_LEFT].push(input);
var searchBox = new google.maps.places.SearchBox((input));
google.maps.event.addListener(searchBox, 'places_changed', function() {
var places = searchBox.getPlaces();
for (var i = 0, marker; marker = markers[i]; i++) {
marker.setMap(null);
}
markers = [];
var bounds = new google.maps.LatLngBounds();
for (var i = 0, place; place = places[i]; i++) {
var image = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25)
};
var marker = new google.maps.Marker({
map: map,
icon: image,
title: place.name,
position: place.geometry.location
});
markers.push(marker);
bounds.extend(place.geometry.location);
}
map.fitBounds(bounds);
});
谢谢你的帮助 使用和就地结果
仅当存在单个结果(或者您可以使用第一个结果的视口)时,此选项才起作用
我没有得到相同的缩放,从当前的缩放变为缩小。我收到了这样一条信息
//只有地理编码才有视口。
这是什么意思?
for (var i = 0, place; place = places[i]; i++) {
var image = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25)
};
var marker = new google.maps.Marker({
map: map,
icon: image,
title: place.name,
position: place.geometry.location
});
markers.push(marker);
}
map.fitBounds(places[0].geometry.viewport);