将图块层放在FusionTable图层的顶部?

时间:2012-03-31 17:15:45

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

目前我正在为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图层上?

0 个答案:

没有答案