2012-07-24 107 views
0
<!DOCTYPE html> 
<html> 
<head> 
<title>Google Maps JavaScript API v3 Example: Map Simple</title> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> 
<meta charset="UTF-8"> 
<style type="text/css"> 
#map_canvas { 
    width: 500px; 
    height: 500px; 
} 
</style> 
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&libraries=geometry"></script> 
<script type="text/javascript"> 
    var map; 
    function initialize() { 
     var myOptions = { 
      zoom : 8, 
      center : new google.maps.LatLng(-34.397, 150.644), 
      mapTypeId : google.maps.MapTypeId.ROADMAP 
     }; 
     map = new google.maps.Map(document.getElementById('map_canvas'), myOptions); 

     var locationA = { 
      latitude : 37.788081 + 0.0049, 
      longitude : -83.001709 + 0.00019 
     }; 
     var locationB = { 
      latitude : 37.788081, 
      longitude : -83.001709 
     }; 

     var sw = new google.maps.LatLng(locationA.latitude, locationA.longitude); 
     var ne = new google.maps.LatLng(locationB.latitude, locationB.longitude); 

     var distance = google.maps.geometry.spherical.computeDistanceBetween(sw, ne); 
     console.log("Distance between SW & NE: " + distance); 

     var bounds = new google.maps.LatLngBounds(sw, ne); 
     console.log(bounds); 
     map.fitBounds(bounds); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
</head> 
<body> 
    <div id="map_canvas"></div> 
</body> 
</html> 

以上的回報這個: enter image description here谷歌地圖fitBounds()被打破或..?

在開發測試中得到它的意外,清理周圍的「錯誤」,仍然一切,這似乎真的是一個錯誤。

任何人都可以解釋它嗎?

設置locationA.longitude0.000190確實顯示有效的地圖,所以這是非常重要的問題。

+0

順便說一句,如果你調試,你會注意到'bounds'得到錯誤的值。這是它的構造函數的一個問題。 – Poni 2012-07-24 22:57:06

回答

1

您的界限無效,南大於北,東大於西。如果您將這些加號切換爲負號,它將會加載。我只需創建一個不帶參數的LatLngBounds,然後改爲使用bounds.extend

var bounds = new google.maps.LatLngBounds(); 
    bounds.extend(sw); 
    bounds.extend(ne); 
+0

儘管如此,不知道'extend()'。非常感謝幽靈! – Poni 2012-07-24 23:59:38