猿问

如何在单击按钮上更改地图标记颜色

在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> ");


人到中年有点甜
浏览 108回答 2
2回答

精慕HU

您不能通过 CSS 更改标记的颜色,因为标记是图像。您必须为现有标记设置新图像才能获得更改后的标记颜色的效果。一般步骤是:将标记存储在稍后可用的变量中myFunction。使用更新标记图像setIcon(urlToNewImage)

Smart猫小萌

解决了function&nbsp;state(marker){&nbsp; &nbsp;&nbsp;marker.setIcon('http://maps.google.com/mapfiles/ms/micons/orange.png'); }
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答