我正在开发一个网络地图站点(使用谷歌地图 api 3.0 和 javascript),它结合了显示在谷歌地图顶部的 wms 图层和地面叠加层(上传的栅格)。该软件运行良好,除了我在控制图层的绘制顺序时遇到问题。我希望将 wms 图层(NRCS 土壤图层)显示在自定义光栅图像的顶部,并将谷歌地图作为基础图层。目前,wms 图层按预期显示在谷歌地图图层之上,但被栅格图层覆盖。问题是:谷歌地图 api 是否允许控制图层的显示顺序(在我的情况下,矢量图层位于谷歌地图之上的栅格层之上)?我曾尝试设置显示顺序的 zindex,但这没有奏效(但我很容易遗漏一些东西)。
问问题
1571 次
2 回答
1
WMS 图层也是栅格,而不是矢量——我假设您将 ImageMapType 与 GroundOverlay 一起使用?
撇开这一点不谈,一旦将图层添加到地图中,目前就无法控制图层顺序。
作为一个黑客(未经测试),您可能希望按照您希望它们被绘制的顺序添加图层,在它们之间有一些超时......我认为这可能有效(再次,未经测试)。
于 2013-01-24T05:28:41.720 回答
0
(可选的)。我如何订购它。
首先我像这样在对象中创建图层。
layer = {};
layer.nrcs_soils= new google.maps.ImageMapType({
getTileUrl: function (coord, zoom) {
return getTileWmsUrl(coord, zoom, "nrcs_soils");
},
tileSize: new google.maps.Size(256, 256),
opacity: 1,
name:'nrcs_soils',
alt:{
layer_name:'nrcs_soils'
,order : 0
},
isPng: true
});
之后,我创建了简单的函数将图层添加到地图。
add_layer = function(layer_name){
//-- get order from object layer
var order_layer =layer[layer_name].alt.order;
map.overlayMapTypes.insertAt(order_layer ,layer[layer_name]);
}
只需从对象层的设置中调用此函数以添加和订购层。
add_layer("nrcs_soils");
于 2017-08-08T08:40:18.713 回答