1

当调用外部 javascript 函数 hidetype() 时,我试图隐藏选定的谷歌地图标记类别。无济于事。

我从以下网址获取了一般概念: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