Javascript Google Map V3:fitbounds和center不在一起工作
以下代码在地图上显示教堂和牧师:Javascript Google Map V3:fitbounds和center不在一起工作,javascript,google-maps,Javascript,Google Maps,以下代码在地图上显示教堂和牧师: var churchLatLng = new google.maps.LatLng(53.4, 0.14); var mapOptions = { center: churchLatLng, mapTypeId: google.maps.MapTypeId.ROADMAP }; myMap = new google.maps.Map(document.getElementById('myDiv'
var churchLatLng = new google.maps.LatLng(53.4, 0.14);
var mapOptions = {
center: churchLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
myMap = new google.maps.Map(document.getElementById('myDiv'), mapOptions);
var bounds = new google.maps.LatLngBounds();
// Setting church marker
new google.maps.Marker({
position: churchLatLng,
map: myMap,
});
bounds.extend(churchLatLng);
var priestLatLng = new google.maps.LatLng(51.2,0.13);
new google.maps.Marker({
position: priestLatLng,
map: myMap
});
bounds.extend(priestLatLng);
myMap.fitBounds(bounds);
代码使用选项“center”将教堂居中于地图的中心,并使用函数“fitBounds”将所有标记对齐(本例中仅限教堂和牧师)
结果是,地图边框设置为包含两个标记,但“中心”选项不再起作用,将被忽略
我想要的是设定界限,但同时在地图的中心显示教堂
如何实现这一点?尝试使用eventlistener并等待边界更改(它是异步工作的)。
比如:
google.maps.event.addListenerOnce(myMap, 'bounds_changed', function(event) {
myMap.setCenter(churchLatLng);
});
尝试使用eventlistener并等待边界更改(它是异步工作的)。
比如:
google.maps.event.addListenerOnce(myMap, 'bounds_changed', function(event) {
myMap.setCenter(churchLatLng);
});
我想你做不到<代码> FiTimeNo/Coo>中心放在所有标记中的地图。或者如果您在
fitBounds()之后执行setCenter(…)
,我认为您不能<代码> FiTimeNo/Coo>中心放在所有标记中的地图。或者如果在fitBounds()
之后执行setCenter(…)
,它会居中,但牧师会离开地图。通过这种方式,它只在中心工作,但牧师离开了地图。通过这种方式,它只在中心工作我希望有一种更干净的方法来做到这一点:/I我必须将中心更改为addListenerOnce
,而不是addListener
,否则这正是我所需要的。这很有意义,修改了答案以纳入该建议。我希望有一个更干净的方法来做到这一点:/I必须将中心更改为addListenerOnce
,而不是addListener
,否则这正是我需要的。这很有意义,修改了答案以纳入该建议。