目前我正在为Google Maps API v3中的小型校园设计地图。
我希望我的地图按以下顺序显示图层(从下到上):
0 [Google Maps layer (all labels turned off)]
1 [buildings, parking lots, detailed streets and paths]
2 [additional details (trees)]
3 [highlighted parking lots (toggled on/off)]
4 [highlighted buildings (toggled on/off)]
5 [transparent (street-)labels from google maps]
6 [transparent custom (building-)labels]
7 [markers]
8 [info windows]
我已经走得很远,但我被困在这里:
图层1,2,5和6是带有图块的new google.maps.ImageMapType
图层,添加如下:
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
map.overlayMapTypes.insertAt(0, myMapLayer);
map.overlayMapTypes.insertAt(0, myTreeLayer);
map.overlayMapTypes.insertAt(1, googleLabelLayer);
map.overlayMapTypes.insertAt(1, myLabelLayer);
map.setOptions({styles: stylesArray});
第3层和第4层是带有多边形的FusionTables图层,添加如下:
parkingLayer = new google.maps.FusionTablesLayer(#######);
buildingLayer = new google.maps.FusionTablesLayer(#######);
并通过复选框进行搜索:
function toggleLayer(layer) {
if(layer.getMap() == null) {
layer.setMap(map);
} else {
layer.setMap(null);
}
}
但FusionTables图层(3& 4)总是位于我的标签图层(5& 6)之上,当它们位于下面时。
FusionTables图层突出显示颜色的建筑物,以便更好地显示,而标签则标明建筑物的名称。如果打开FusionTables图层,多边形将覆盖标签,因此建筑物的名称将消失。将不透明度设置为50%现在可以使用,但不是最佳的。
我也发现,OverlayView
具有正确的位置(在地图的顶部,在fusiontables层的顶部,在标记和infowindows下)。但是我只能使用静态图像,还没有找到使瓷砖在这里工作的可能性。
所以我的问题是:
有没有办法将平铺图层放在FusionTables图层上?