Google地图标记图标自动更改

时间:2012-04-27 18:00:05

标签: google-maps google-maps-api-3 google-maps-markers auto-update

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

我查看了addListeneraddDomListener的文档,但它都是鼠标悬停和点击的内容。我需要它来检测相关元素的纯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]
    });
}

我正在考虑将setInterval与jQuery结合使用以强制buildings[i][7]数组值(上面没有包含)等于所讨论的div的内容,然后运行一些条件语句确定它是否符合更改标记图标的正确标准。

但在那之后,我迷失了如何根据动态更新值让标记实际更改。

2 个答案:

答案 0 :(得分:2)

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

  1. 包含图标图像文件相对位置的string(如代码中所示),或 -
  2. 一个MarkerImage,它为您提供更多关于图标图像显示方式的控制(锚点,原点,大小等)

答案 1 :(得分:0)

来自google api文档

  var beachMarker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      icon: image
  });
  map.addOverlay (beachMarker );