2016-05-25 4 views
0

編集:私の質問は、実際にこのの複製である: google maps v3: center of bounds is different from center of the mapGoogleマップの不正なgetBounds()ですか?

私はグーグルマップの境界の中心点を抽出してみてください。後でこの中心点で地図の位置を変更したいと思います。しかし、地図は南北方向にわずかにシフトしています。

ここに何か不足していますか? plunkrでは、mapから取得した正確な中心ですが、panTo() - Callの後にマップがどのようにシフトするかを見ることができます。

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> 

答えて

1

私はあなたがmap.getCenter代わりのbounds.getCenterを(使うべきだと思う)

map.getCenter(); 
関連する問題