如何使用谷歌地图 API 设置图层顺序
How to set up the layer order with Google Maps API?
我正在开发一个网络制图网站(使用谷歌地图API 3.0和javascript),它结合了WMS图层和地面叠加层(上传的栅格),显示在谷歌地图的顶部。该软件运行良好,除了我在控制图层的绘制顺序时遇到问题。我想将 wms 图层(NRCS 土壤图层)显示在自定义光栅图像的顶部,并将谷歌地图作为基础图层。目前,wms 图层按预期显示在 google 地图图层的顶部,但被栅格图层覆盖。问题是:谷歌地图 API 是否允许控制图层的显示顺序(在我的例子中,矢量图层位于谷歌地图顶部的栅格图层顶部)?我尝试设置显示顺序的zindex,但这不起作用(但我很容易错过一些东西)。
WMS 图层也是栅格,而不是矢量 - 我假设您正在使用 ImageMapType 和 GroundOverlay?
撇开这一点不谈,一旦图层被添加到地图中,目前就无法控制图层的排序。
作为黑客(未经测试),您可能希望按照您希望绘制它们的顺序添加图层,并在...我认为这可能会起作用(再次,未经测试)。
(
可选)。我如何订购它。
首先,我在对象中创建这样的图层。
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");
相关文章:
- 更改图层中单个矢量特征的图标
- 谷歌地图热图图层点半径
- 谷歌地图-更改图层图标大小
- 如何通过ID获取图层对象
- CS5隐藏图层的速度非常慢
- 开放图层导出为 KML 并保留我的地图样式
- 传单问题:使折线的图层组不可单击
- 将图层添加到另一个图层
- 图层删除(图像);在 Kinetic.js 中不起作用
- HTML5 Canvas 的初学者,使用图层
- 如何在“控制缩放”下的“打开图层”上添加一些图像
- 无法让 jQuery floatThead 处理嵌入在选项卡式图层中的表
- 如何在开放层 3 中设置矢量图层选择的样式
- 添加支持异步重新加载的 Web 图层
- 3d图层滑块Wordpress插件:编辑3d颜色
- 在jQuery中移动DOM元素(图层滑块)
- 如何用程序更改传单中的图层
- 从智能对象和图层替换Photoshop中的关键字
- 检测鼠标悬停/鼠标单击,无论 Z 顺序/图层级别如何
- 如何使用谷歌地图 API 设置图层顺序