我有一個包含兩個類別的下拉菜單。當選擇類別#1時,標記會很好地放下,但是當選擇類別#2時,如果我在函數中有markers.setMap(null)
,標記不會丟失。類別#1中的標記應在選擇類別#2時刪除。我將標記推向全局陣列,所以我不確定我做錯了什麼。使用OnClick刪除標記<option>
function dropMarkers2() {
markers.setMap(null); // This line seems to be the issue
var i = 0;
var interval = setInterval(function() {
var data = markersList2[i];
var latLng = new google.maps.LatLng(data.latLng[0], data.latLng[1]);
var marker = new google.maps.Marker({
position: latLng,
map: map,
animation: google.maps.Animation.DROP
});
markers2.push(marker);
i++;
if (i == markersList2.length) {
clearInterval(interval);
}
}, 150);
}
我的jsfiddle可以在這裏找到:http://jsfiddle.net/g7uhond8/
編輯:我對兩個版本的工作,但仍然沒有解決的問題。
在這個JSFiddle中,標記不會停止放下。我的for循環有問題。 http://jsfiddle.net/k9eomk5f
在這JSFiddle中,我能夠刪除標記,但標記放在相同的位置。如果我使用markerList
,但它們不會迭代,但當我使用neighborhoods
時:http://jsfiddle.net/zeyn30tm
爲什麼? markerList
是一個列表,neighborhoods
是一個數組?
我應該使用'for'循環嗎? – mapr 2014-12-07 22:06:17
是的,這是迭代數組的方式 – 2014-12-07 22:08:05
也許這對你很有趣:http://stackoverflow.com/a/25773616/459897 – 2014-12-07 22:14:07