0

Googleマップで特定のマーカーを削除するにはどうすればよいですか? 以下のコードを試しましたが、TypeError: marker[1] is undefinedエラーが発生します。[1] がないと、最初のマーカーのみが削除されます。

google.maps.event.addDomListener(deletemark, 'click', function() {
          marker[1].setMap(null);
});
}

(コメントから、わずかに編集)これは、マーカーを作成する方法であり、マーカーの緯度、経度を配列で作成します

var locations = [ [56.066877,21.069274], [55.279849,26.048155] ]; // removed "hanging comma"
for (i = 0; i < locations.length; i++) 
{
  marker = new MarkerWithLabel({
    position: new google.maps.LatLng(locations[i][0], locations[i][1]), 
    map: map // removed "hanging comma"
  });
} // added missing close bracket 
4

2 に答える 2

3

配列を使用してマーカーを格納してみてください。

var markerArray=[];
var locations = [ [56.066877,21.069274], [55.279849,26.048155] ];
for (i = 0; i < locations.length; i++) 
{
 marker = new MarkerWithLabel({
 position: new google.maps.LatLng(locations[i][0], locations[i][1]), 
 map: map // removed "hanging comma"
 });
markerArray.push(marker);
} /

マーカーを削除するには、

function deleteMarkers() {
  if (markersArray) {
  for (i in markersArray) {
   markersArray[i].setMap(null);
  }
markersArray.length = 0;
}
}
于 2013-05-04T09:35:43.127 に答える