Javascript 谷歌地图标记删除
我试着一个接一个地扔掉我的记号笔,而不是同时扔掉所有的记号笔。我的下降功能在这里似乎不起作用。我不知道怎么了。请看一下我的代码Javascript 谷歌地图标记删除,javascript,google-maps,Javascript,Google Maps,我试着一个接一个地扔掉我的记号笔,而不是同时扔掉所有的记号笔。我的下降功能在这里似乎不起作用。我不知道怎么了。请看一下我的代码 <script> function initialize() { var myLatlng = new google.maps.LatLng(63.417622, 10.404316); var mapOptions = { zoom: 13, center: myLatlng }; var map = new google.maps.Map(docum
<script>
function initialize() {
var myLatlng = new google.maps.LatLng(63.417622, 10.404316);
var mapOptions = {
zoom: 13,
center: myLatlng
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var marker;
var locations = [];
locations.push ({name: "1", p: new google.maps.LatLng(63.417622, 10.404316)});
locations.push ({name: "2", p: new google.maps.LatLng(63.409868, 10.446512)});
locations.push ({name: "3", p: new google.maps.LatLng(63.429070, 10.390894)});
locations.push ({name: "4", p: new google.maps.LatLng(63.437208,10.452692)});
function addMarker(){
for (var i = 0; i < locations.length; i++){
marker = new google.maps.Marker({position: locations[i].p, map: map, title: locations[i].name, icon: 'cabin_icon.png', animation: google.maps.Animation.DROP});
}
} //This put my markers on the map all at once.
//Function to drop them at one after another after a few milliseconds.
function drop (){
for (var j = 0; j < locations.length; j++) {
setTimeout( function(){
addMarker();
}, j * 200);
};
}; //But this function is not working. Markers are not even showing up after I have created this function.
}
google.maps.event.addDomListener(window, 'load', initialize); </script>
我尝试过用许多不同的方式编辑代码,但都没有做到。我也试过了,但代码也没用。因此,我需要您的帮助。您的drop函数是在initialize函数中声明的,这意味着您需要在initialize结束之前调用它,或者将它放在initialize之外
您的drop函数现在所做的是,它延迟4次删除所有标记
您想要做的可能是这样的:
function initialize(){
...
function addMarker(i){
marker = new google.maps.Marker({position: locations[i].p, map: map, title: locations[i].name, icon: 'cabin_icon.png', animation: google.maps.Animation.DROP});
}
function drop(){
for (var j = 0; j < locations.length; j++) {
setTimeout(function(i){addMarker(i)}, 200*j, j);
}
}
drop();
}