【问题标题】:how to change map marker color on click button如何在单击按钮上更改地图标记颜色
【发布时间】:2021-02-08 04:20:29
【问题描述】:

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

【问题讨论】:

标签: javascript google-maps button google-maps-markers


【解决方案1】:

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

一般步骤是:

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

Here is an example fiddle。点击更改按钮查看效果。

Refer to this link 获取在线可用图标列表。

【讨论】:

    【解决方案2】:

    解决

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

    【讨论】:

      猜你喜欢
      • 2019-12-03
      • 2021-07-21
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      相关资源
      最近更新 更多