地图图层layer
约 615 字大约 2 分钟
2025-02-13
地图内是由各种不同的图层来叠加显示,形成整个二维地图场景的。 图层是地图中很重要的概念,也是平台内很重要的组成部分。
1. 图层类
平台的所有图层类均在mirage2d.Layer.*
命名空间下面。
下面我们演示创建一个图层对象 ,并调用 map.addLayer 添加到地图上。
//直接创建具体类型的图层对象
const geoqLayer = new mirage2d.Layer.TileXyzLayer("Layer001", {
url: "http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}",
chinaCRS: "GCJ02", //地图源是GCJ02的 需要配置这个属性
});
map.addLayer(geoqLayer);
图层主要分以下几大类
1.栅格瓦片图层[TileLayer]等 ,是地图场景的基础皮肤
2.矢量数据图层[GraphicLayer]
3.图层组[GroupLayer],方便组合管理
4.其他可视化图层
2. 常用图层介绍
2.1 栅格瓦片图层
见栅格瓦片图层章节介绍。
2.2 矢量数据图层
见矢量数据图层章节介绍。
2.3 Group 图层组说明
为了方便图层控制,平台提供了type:'TileGroupLayer'
的图层组图层,目前主要在构造 Map 时传入basemaps
或layers
参数中使用,可以用于:
- (1)将多个图层组合起来方便控制(比如将 卫星底图 和 文字注记层 放在一起控制管理);
{
pid: 10,
name: "天地图卫星",
type: "TileGroupLayer",
icon: "天地图卫星.png",
radio: true,
layers: [
{
name: "底图",
type: "xyz",
layertype: "img_d",
url: "//t{0-7}.tianditu.gov.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}&tk=您的key"
},
{
name: "注记",
type: "xyz",
layertype: "img_z",
url: "//t{0-7}.tianditu.gov.cn/DataServer?T=cia_w&X={x}&Y={y}&L={z}&tk=您的key"
}
]
}
- (2)图层管理 的图层分组节点(虚拟节点)。
var map = new mirage2d.Map("mirage2dContainer", {
basemaps: [
{ id: 10, name: "地图底图", type: "group" }, //图层管理 的图层分组节点(虚拟节点)
{
pid: 10,
name: "天地图卫星",
icon: "img/basemaps/tdt_img.png",
type: "tdt",
layer: "img_d",
key: ["9ae78c51a0a28f06444d541148496e36"],
show: true,
},
{
pid: 10,
name: "本地单张图片",
icon: "img/basemaps/offline.png",
type: "image",
url: "img/tietu/world.jpg",
},
],
layers: [{ id: 99, name: "数据图层", type: "group" }],
});
2.2 其他可视化图层
主要提供一些与 echarts、heatmap、mapv 等其他可视化组件结合通过 canvas 绘制的一些图层。