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();
}