2011-04-15 4 views
0

Je le code suivantGoogle map api V2 Marker Problème

var marker; 
var marker_list = []; 
        for (iLoopIndex=0;iLoopIndex<10;iLoopIndex++) 
        { 
         centerPoint = new GLatLng(32+iLoopIndex,68+iLoopIndex); 
         alert(centerPoint); 
         map.setCenter(centerPoint); 

         blueIcon = new GIcon(G_DEFAULT_ICON); 
         blueIcon.image = "truck.png"; 
         blueIcon.iconSize = new GSize(40, 20); 

         // Set up our GMarkerOptions object 
         markerOptions = { icon:blueIcon }; 
         //map.addOverlay(new GMarker(centerPoint, markerOptions)); 
         marker = new GMarker(centerPoint, markerOptions); 

         GEvent.addListener(marker, "click", function() { 
         marker.openInfoWindowHtml("iLocator <b>"+Myarr[2]+"</b>"); 
         marker_list.push(marker); 
        }); 
         map.addOverlay(marker); 
        }//End for 

Ce code font 10 marqueurs sur la carte Google, maintenant je veux supprimer les marqueurs, suivant est le code pour supprimer les marqueurs.

for (iLoopIndex=0;iLoopIndex<marker_list.length;iLoopIndex++) 
{ 
    map.removeOverlay(marker_list[iLoopIndex]); 
} 

Ce code ne fonctionne pas sa seule retirer le infowindow du marqueur mais pas enlever l'image. Veuillez me guider ce que je fais mal.

+1

Il est temps de passer à GoogleMaps v3 totalement différent de v2. La plupart des développeurs peuvent ne pas être en mesure de vous aider aussi. Il peut valoir la peine de déboguer avec firebug pour l'objet de carte après que removeOverlay a appelé. – Senthil

Répondre

1

Vous placez vos marqueurs dans votre tableau marker_list à l'intérieur de la fonction de rappel de l'écouteur GEvent que vous avez enregistré. Votre tableau ne sera rempli que de marqueurs dont l'InfoWindow a été déclenchée.

Déplacer "marker_list.push (marqueur);" à la ligne ci-dessus "map.addoverlay (marqueur);" c'est-à-dire

GEvent.addListener(marker, "click", function() { 
        marker.openInfoWindowHtml("iLocator <b>"+Myarr[2]+"</b>"); 
       }); 
        marker_list.push(marker); 
        map.addOverlay(marker); 
       }//End for 
+0

Il y a un autre problème auquel je suis confronté: la fenêtre d'information ne s'affiche que sur un seul marqueur. – Siddiqui