地图叠加之天地图和supermap
程序员文章站
2022-03-04 23:41:35
...
在开发过程中,鉴于已存地图的基础上,有部分地图的区块是不存在的。比如百度地图的某个地方是没有任何规划的空地。那么,如何在这个区块上加入我们自己处理过的图片底图呢。就涉及到两个地图的叠加,这里以天地图和超图为例。
代码如下:
//创建新的区块地图
var url="";//获取已经发布地图的URL
var mapLayer = new SuperMap.Layer.TiledDynamicRESTLayer(“maplayer”, url,{transparent: true,cacheEnabled:true,});
mapLayer.events.on({"layerInitialized": addLayer});
function addLayer() {
map.setBaseLayer(mapLayer);
//添加天地图
var matrixIds = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19','20'];
var resolutions = [0.703125, 0.3515625,0.17578125,0.087890625, 0.0439453125, 0.02197265625,0.010986328125, 0.0054931640625, 0.00274658203125, 0.001373291015625, 0.0006866455078125, 0.00034332275390625, 0.000171661376953125, 8.58306884765625e-005, 4.291534423828125e-005, 2.1457672119140625e-005, 1.0728836059570313e-005, 5.36441802978515625e-006, 2.682209014892578e-006, 1.341104507446289e-006];
var WMTSLayer = new SuperMap.Layer.WMTS({
name: "vec", //自定义图层名称
url: "http://t0.tianditu.com/img_c/wmts", //天地图的卫星图
//url: "http://t0.tianditu.com/vec_c/wmts", //天地图的地图
layer: "img", //服务中的图层名称
style: "default", //风格描述
matrixSet: "c", //标识符矩阵集
format: "tiles", //瓦片格式
requestEncoding: "KVP",
matrixIds: matrixIds,
zoomOffset: 1,
buffer: 0,
maxExtent: new SuperMap.Bounds(-180,-90,180,90),
tileSize: new SuperMap.Size(256,256),
resolutions:resolutions//分辨率,必须设置
});
map.addLayers([WMTSLayer,mapLayer]);
map.setCenter(
new SuperMap.LonLat(经度,纬度),缩放级别);//设置中心点和缩放级别
}
上一篇: YUV格式大全
下一篇: AVFrame存放一帧视频原始数据
推荐阅读