编辑:我的问题实际上与此重复: google maps v3: center of bounds is different from center of the map
我尝试提取谷歌地图边界的中心点。后来我想通过这个中心点重新定位地图。然而,地图在南北方向略有变化。
我在这里遗漏了什么吗?在plunkr中,您可以看到地图在panTo() - 调用后如何移动,尽管它是从地图中检索到的确切中心。
https://plnkr.co/edit/zGy3nUShEFG7fxvKTqa9?p=preview
<!DOCTYPE html>
<html>
<head>
<title>Simple Map</title>
<meta name="viewport" content="initial-scale=1.0">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
var map;
function initMap() {
var centerData = {lat: -34.397, lng: 150.644};
map = new google.maps.Map(document.getElementById('map'), {
center: centerData,
zoom: 8
});
var initialCenterMarker = new google.maps.Marker({
position: centerData,
map: map,
animation:google.maps.Animation.DROP
});
setTimeout(function(){
var bounds = map.getBounds();
var myCenter=bounds.getCenter();
setTimeout(function(){
map.panTo(myCenter);
var newCenterMarker = new google.maps.Marker({
position: myCenter,
map: map,
animation:google.maps.Animation.DROP
});
},2000);
},1000);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap"
async defer></script>
</body>
</html>
答案 0 :(得分:1)
我认为你应该使用map.getCenter而不是bounds.getCenter()
map.getCenter();