如何控制谷歌地图标记的不透明度

时间:2012-01-10 11:28:46

标签: javascript google-maps google-maps-api-3 google-maps-markers

我需要根据时间制作一些半透明的标记。有没有办法控制标记的CSS不透明度?或者是否可以可靠地找到标记的DOM元素?

我使用Google Maps API v3。

4 个答案:

答案 0 :(得分:31)

可以使用marker.setOptions({'opacity': 0.5})

设置标记的不透明度

答案 1 :(得分:15)

您可以使用marker.setOpacity(0.5); https://developers.google.com/maps/documentation/javascript/3.exp/reference#Marker

代码段

var marker;

function initialize() {
  var map = new google.maps.Map(
    document.getElementById("map_canvas"), {
      zoom: 10,
      center: {
        lat: -33.9,
        lng: 151.2
      },
      mapTypeId: google.maps.MapTypeId.ROADMAP
    });
  marker = new google.maps.Marker({
    position: {
      lat: -33.890542,
      lng: 151.274856
    },
    map: map,
    title: "Bondi Beach"
  });
}
google.maps.event.addDomListener(window, "load", initialize);
html,
body,
#map_canvas {
  height: 100%;
  width: 100%;
  margin: 0px;
  padding: 0px
}
<script src="https://maps.googleapis.com/maps/api/js"></script>
<input id="inc" type="text" value="0.5" />
<input type="button" id="set" value="set opacity" onclick="marker.setOpacity(parseFloat(document.getElementById('inc').value))" />
<input type="button" id="full" value="full opacity" onclick="marker.setOpacity(1.0);" />
<div id="map_canvas"></div>

答案 2 :(得分:5)

没有办法通过CSS。您可以引用数组中的标记,然后使用每个标记对象上的setIcon()方法循环遍历数组,以引用具有不同不透明度的图标(假设您正在使用具有Alpha透明度的PNG)。您必须根据用户输入或其他一些事件调用函数来更改图标。

答案 3 :(得分:0)

您可以在创建标记时设置不透明度

xsl:analyze-string