1

外部のJavaScript関数hidetype()が呼び出されたときに、選択したカテゴリのGoogleマップマーカーを非表示にしようとしています。無駄に。

私は一般的な概念を以下から取り入れました:http://www.geocodezip.com/v3_MW_example_categories.html

以下は、mysqlから派生したXMLからマーカー情報を抽出するコードです。マーカーをタイプ別にグループ化しています。

      downloadUrl("phpsqlajax_genxml2_snow.php", function(data) {
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var name = markers[i].getAttribute("name");
      var address = markers[i].getAttribute("address");
      var type = markers[i].getAttribute("type");
      var point = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));
      var html = "Some infoBubble HTML";
      var Gtip = "<b>" + name + "</b>";
      var icon = customIcons[type] || {};
      var hover = icon.hover;
      var hoverout = icon.icon;
      var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon,
        shadow: icon.shadow,
      });
      marker.mytype = type;
      bindInfoWindow(marker, map, infoWindow, html, Gtip, hover, hoverout);
    }
  });
}

function hidetype(category) {
  alert(category);
    for (var i=0; i<markers.length; i++) {
      if (markers[i].mytype == category) {
        markers[i].setVisible(false);
      }
    }
  }

外部でマーカーを削除しようとする方法の例は次のとおりです。

<img onclick="hidetype('1')" src=...>

これは現在、渡された型変数でアラートを吐き出しますが、マーカーは削除されません。前もって感謝します!

4

0 に答える 0