2013-06-28 18 views
1

我在這裏有一段代碼在地圖上繪製了一組路徑。我試圖讓地圖縮放並居中以便所有的路徑都可見,但我無法獲得任何工作。下面的代碼是什麼樣子,我開始之前:試圖讓谷歌地圖縮放和中心,不能讓我的頭圓了它

var points = new Array(); 
var pointsData = []; 
var pointsData = $('#master-' + r + ' > #route-data').html(); 
if (pointsData != '') 
{ 
    var pointsArray = JSON.parse(pointsData); 
    for (var p=0; p<pointsArray.length; p++) { 
     points.push(new google.maps.LatLng(pointsArray[p][0], pointsArray[p][1])); 
    } 
    $.OverMap.drawRoute(points); 
} 
else $.OverMap.drawDirections({preserveViewport:false}); 

而且與它擺弄後:

map = this.map.map; 

map.fitBounds(this.map.bounds); 
zoomChangeBoundsListener = 
    google.maps.event.addListenerOnce(map, 'bounds_changed', function(event) { 
     if (this.getZoom()){ 
      this.setZoom(16); 
     } 
}); 
setTimeout(function(){google.maps.event.removeListener(zoomChangeBoundsListener)}, 2000); 

// Draw route 
var bounds = new google.maps.LatLngBounds(); 
var points = new Array(); 
var pointsData = []; 
var pointsData = $('#master-' + r + ' > #route-data').html(); 
if (pointsData != '') 
{ 
    var pointsArray = JSON.parse(pointsData); 
    for (var p=0; p<pointsArray.length; p++) { 
     points.push(new google.maps.LatLng(pointsArray[p][0], pointsArray[p][1])); 
     bounds.extend(pointsArray[p][0], pointsArray[p][1]); 
    } 
    $.OverMap.drawRoute(points); 
} 
else $.OverMap.drawDirections({preserveViewport:false}); 

任何人都可以指出我要去哪裏錯了嗎?

回答

0

google.maps.LatLngBounds.extendgoogle.maps.LatLng對象作爲參數。

不是:

for (var p=0; p<pointsArray.length; p++) { 
    points.push(new google.maps.LatLng(pointsArray[p][0], pointsArray[p][1])); 
    bounds.extend(pointsArray[p][0], pointsArray[p][1]); 
} 

,而不是做:

for (var p=0; p<pointsArray.length; p++) { 
    var pt = new google.maps.LatLng(pointsArray[p][0], pointsArray[p][1]); 
    points.push(pt); 
    bounds.extend(pt); 
} 
+0

非常感謝,代碼仍然不能正常工作,但現在我知道我錯了的事情之一。 – ninjachicken1