我一直在寻找解决这个问题的方法,但似乎找不到解决方案。最接近的是这个线程,但它没有起作用。
我想要做的是基于一组标记运行fitbounds,这很好。但我也想根据用户位置(plunk中的跳动标记)使地图居中,并仍然保持所有标记在地图视图内。 如果我在fitBounds后设置setCenter,那么一些标记就会在地图视图之外。 有没有巧妙的方法将这两个函数结合起来? 这里是说明该问题的plunk。
我想要做的是基于一组标记运行fitbounds,这很好。但我也想根据用户位置(plunk中的跳动标记)使地图居中,并仍然保持所有标记在地图视图内。 如果我在fitBounds后设置setCenter,那么一些标记就会在地图视图之外。 有没有巧妙的方法将这两个函数结合起来? 这里是说明该问题的plunk。
function initialize() {
var userCenter = new google.maps.LatLng(51.508742, -0.120850);
var userCenterMarker = new google.maps.Marker({
position: userCenter
});
userCenterMarker.setAnimation(google.maps.Animation.BOUNCE);
var mapProp = {
center: userCenter,
zoom: 12,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
var bounds = new google.maps.LatLngBounds();
var markers = getMarkers();
$(markers).each(function() {
bounds.extend(this.position);
this.setMap(map);
});
userCenterMarker.setMap(map);
map.fitBounds(bounds);
setTimeout(function() {
map.setCenter(userCenter);
}, 1500);
}
谢谢!