使KML / KMZ图层透明/不透明

时间:2011-03-27 02:51:01

标签: javascript html google-maps

我一直在寻找一段简单的方法,使用谷歌地图API版本3使KML / KMZ图层透明/不透明。有很多例子,但似乎没有一个简单的例子使KML层不透明。我在下面提供了一个例子,有人可以帮我解决这个问题吗???

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<title>Example 2</title>
<style type="text/css">
  html { height: 100% }
  body { height: 100%; margin: 0px; padding: 0px }
  #map_canvas { height: 100% }
</style>
<script type="text/javascript"
  src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">

// ***Initialize the Map Function ***
function initialize() {
var latlng = new google.maps.LatLng(0,0);
var myOptions = {
  zoom: 10,
  center: latlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);

var polyLayerOptions = {
    supressInfoWindows: true,
    Opacity: 0.15
};
var polyLayer = new google.maps.KmlLayer
('http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml', polyLayerOptions);
polyLayer.setMap(map);
}

</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>

1 个答案:

答案 0 :(得分:4)

KML选项中没有不透明度标记,但您可以将KML中对象的颜色设置为透明。 Google使用ABGR格式的32位颜色,其中第一个字节是alpha通道或透明度,接下来的三个字节是常规颜色(尽管不是其他人使用的标准RGB顺序!)。例如,#80FF0000的颜色将是50%透明的蓝色。似乎没有办法像在Google地球中那样在代码中动态修改透明度,您必须更新KML并将其重新发布到地图上。