0

XML ファイルから複数のマーカーを表示しようとしていますが、1 つのマーカーしか表示できません。これがコードですが、何か不足していますか?

よろしくお願いします。

 downloadUrl("myfile.xml", function(data) {
    var xml = xmlParse(data);
    var markers = xml.documentElement.getElementsByTagName("marker");   
    var position = [];
    for (var i = 0; i < markers.length; i++) {
    var lat = parseFloat(markers[i].getAttribute("lat"));
    var lng = parseFloat(markers[i].getAttribute("lng"));
    var point = new google.maps.LatLng(lat,lng);

}//finish loop

var image = '/artworks/icons/iconBlue.png';
var myLatlng = new google.maps.LatLng(lat, lng);
            var marker = new google.maps.Marker({
                position: myLatlng,
                map: map,
                title:"info",
                icon: image
            });


}); //end downloadurl
4

2 に答える 2

1

こんにちは。これらのマーカーを削除したい場合はどうすればよいですか?

これらのマーカーを削除するには、Marker.setMap() メソッドで null を指定します。したがって、コードは次のようになります。

var myMarkers = [];
downloadUrl("myfile.xml", function(data) {
    var xml = xmlParse(data);
    var markers = xml.documentElement.getElementsByTagName("marker");   
    var position = [];
    for (var i = 0; i < markers.length; i++) {
        var lat = parseFloat(markers[i].getAttribute("lat"));
        var lng = parseFloat(markers[i].getAttribute("lng"));
        var myLatlng = new google.maps.LatLng(lat, lng);
        var marker = createMarker(myLatlng);
        myMarkers.push(marker);
    }//finish loop
}); //end downloadurl

function createMarker(myLatlng) {
    var image = '/artworks/icons/iconBlue.png';
    var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title:"info",
      icon: image
    });
    return marker;
}

function removeAllMarkers() {
  var i;
  for (i = 0; i < myMarkers.length; i++) {
    myMarkers[i].setMap(null);
  }
}
于 2012-11-21T07:43:17.153 に答える