0

我需要marker根据自动更新的 DOM 元素的内部内容自动更改 Google 地图图标。

我查看了addListenerand的文档addDomListener,但都是鼠标悬停和点击之类的东西。我需要它来检测相关元素的纯 HTML 内容的变化,如果该值满足某些条件,则根据它更改标记的图标。

这是我正在使用的代码:

infowindow=new google.maps.InfoWindow();
for (i=0;i<buildings.length;i++){
    marker=new google.maps.Marker({
        position:new google.maps.LatLng(buildings[i][4],buildings[i][5]),
        map:map,
        shadow:shadow,
        icon:greenIcon,
        title:buildings[i][0]+" \n"+buildings[i][1],
        zIndex:buildings[i][6]
    });
}

我正在考虑将 asetInterval与 jQuery 一起添加以强制buildings[i][7]数组值(上面未包含)等于相关 div 的内容,然后运行一些条件语句以确定它是否符合更改图标的正确标准标记。

但在那之后,我不知道如何让标记根据动态更新的值实际改变。

4

2 回答 2

2

要设置与 关联的图标Marker,请尝试该Marker.setIcon功能。它接受一个参数,可以是:

  1. Astring包含图标图像文件的相对位置(如您的代码中所示),或者 -
  2. 一个MarkerImage,它可以让您更好地控制图标图像的显示方式(锚点、原点、大小等)
于 2012-05-01T18:36:04.777 回答
0

来自谷歌 api 文档

  var beachMarker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      icon: image
  });
  map.addOverlay (beachMarker );
于 2012-04-27T18:01:41.490 回答