1

我收到錯誤「對象(NaN,NaN)沒有方法'extend'」,當我嘗試擴展谷歌地圖上的每個標記的邊界。獲取錯誤「對象(NaN,NaN)沒有方法'擴展'」當擴展Google Map v3的邊界時

下面是一些代碼:

首先我全局聲明的範圍:

var bounds = new google.maps.LatLngBounds(); 

然後我使用以下代碼

function displayMarker(appID, title, image, imageType, address, markerType, lat, lng, markersCount) { 
    var listingLatLng = new google.maps.LatLng(lat, lng); 
    var marker = new google.maps.Marker({ 
     position: listingLatLng, 
     map: map, 
     icon: markerType ? imgBluePin : imgGreenPin, 
     title: title + address 
    }); 

    bounds.extend(listingLatLng); 
    map.fitBounds(bounds); 

    var infowindow = new google.maps.InfoWindow(
     { content: GetContent(title, image, imageType, address), 
      size: new google.maps.Size(50, 50) 
     }); 

    google.maps.event.addListener(marker, 'click', function() { 
     infowindow.open(map, marker); 
    }); 

它們設置的每個markeer,當我加載的頁面當代碼試圖擴展邊界時,我得到上面提到的錯誤,例如on line

bounds.extend(listingLatLng); 

爲什麼我得到那個錯誤?

謝謝。

+0

看起來不錯!在控制檯中嘗試'for(var j in bounds){console.log(j)}',並調查'bounds'對象沒有該方法的原因。 – jenswirf 2012-01-17 13:25:55

+0

這可能是一個單個標記hasn' t獲得lat和lng的值嗎? – duncan 2012-01-17 14:42:31

+0

所有的標記都得到正確的座標 – Thea 2012-01-17 14:43:24

回答

0

我找到了錯誤的原因。除聲明範圍爲

var bounds = new google.maps.LatLngBounds(); 

它被宣佈爲

var bounds = new google.maps.LatLng(); 

這是錯誤的。