如何更改地图标记颜色点击按钮



infowindow.setContent中我有按钮我想在点击时更改标记颜色按钮我尝试了这个代码

      google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
          infowindow.setContent(locations[i][0] + locations[i][3] + " <button class='btn btn-primary btn-sm map-checked-box mr-1' onclick='myFunction();' data-id='"+ locations[i][3] +"'>Print</button> ");
          infowindow.open(map, marker);
        }
      })(marker, i ));
    }
    function myFunction() {
  infowindow.setContent('<div style="background-color: green">' + locations[i][0] + locations[i][3] + "</div>");
} 

我正在调用myfunction((,但它在此行中不起作用我想我在函数中找错了位置

infowindow.setContent(locations[i][0] + locations[i][3] + " <button class='btn btn-primary btn-sm map-checked-box mr-1' onclick='myFunction();' data-id='"+ locations[i][3] +"'>Print</button> ");

不能通过CSS更改标记的颜色,因为标记是图像。您必须将新图像设置为现有标记,才能获得更改标记颜色的效果。

一般步骤是:

  1. 将标记存储在稍后在myFunction中可用的变量中
  2. 使用setIcon(urlToNewImage)更新标记图像

这是一个小提琴的例子。单击更改按钮查看效果。

有关联机可用图标的列表,请参阅此链接。

通过解决

function state(marker){ 
  marker.setIcon('http://maps.google.com/mapfiles/ms/micons/orange.png');
}

相关内容

  • 没有找到相关文章

最新更新