我無法通過循環標記數組來設置標記簇中的標記。我總是得到消息Uncaught TypeError: Property 't' of object [object Object] is not a function
這意味着setVisible在我的情況下不是一個函數。 (在CHROM調試之後實測出)GoogleMaps Marker setVisible不是函數
下面的代碼被使用(簡化):
var markers = [];
function placeMarker() {
marker = new google.maps.Marker({
position: position,
map: map,
icon: pinImage,
});
markers.push(marker);
}
function deleteMarkers() {
if (markers) {
for (var i = 0; i < markers.length; i++) {
markers[i].setVisible(false);
}
markers = [];
}
}
該錯誤是拋出deleteMarkers
上的線與markers[i].setVisible(false);
什麼導致引發此錯誤?這似乎是標記被放置在陣列內Object
,而不是google.maps.Marker
這是肯定不是導致錯誤的代碼。順便說一句,你從哪裏得到'位置'和'地圖'?這是一個使用你的代碼的工作演示 - > http://jsfiddle.net/VpK29/ – davidkonrad
如果我在我的同事的Chrome或Firefox的Firefox中調試我的腳本,它崩潰在我的文章中提到的確切行。由於使用此js的網站未發佈,因此我可能不會向您顯示我的整個代碼。我試圖用更多的代碼做一個小提琴;-) 位置是一個'new LatLng()'由我們自己的web服務的json結果創建的值。 'map'在'google.maps.event.addDomListener(window,'load',initializeMap)調用的初始化方法中初始化;'' – KeepAlive