我需要根据时间制作一些半透明的标记。有没有办法控制标记的CSS不透明度?或者是否可以可靠地找到标记的DOM元素?
我使用Google Maps API v3。
答案 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