组件
图层
瓦片图层、WMS 图层、天地图标准图层、格网图层与图层组
图层组件写在 <TdtMap> 内部即自动上屏,卸载时自动移除。
地图加载中…
瓦片图层 TileLayer
<TdtTileLayer
v-if="showAnno"
:url="`http://t0.tianditu.gov.cn/cva_w/wmts?tk=你的浏览器端密钥`"
/>
<tdt-tile-layer url="http://t0.tianditu.gov.cn/cva_w/wmts?tk=你的浏览器端密钥"></tdt-tile-layer>
| Prop | 类型 | 说明 |
|---|---|---|
url | string | 瓦片服务 URL 模板(必填) |
minZoom / maxZoom | number | 缩放级别范围 |
opacity | number | 透明度 |
zIndex | number | 层级 |
errorTileUrl | string | 瓦片加载失败时显示的图片 URL |
bounds | [[swLng, swLat], [neLng, neLat]] | LngLatBounds | 图层显示范围 |
事件(全部瓦片图层通用):loading load tileloadstart tileload tileunload tileerror
WMS 图层 TileLayer.WMS
<TdtTileLayerWMS url="…" layers="影像" :transparent="true" />
<tdt-tile-layer-wms url="…" layers="影像" transparent></tdt-tile-layer-wms>
在瓦片图层 props 基础上追加:
| Prop | 类型 | 说明 |
|---|---|---|
layers | string | 用 "," 分隔的多个图层列表 |
styles | string | 样式 |
format | string | 输出图像类型,默认 image/jpeg |
transparent | boolean | 是否透明 |
version | string | 请求服务的版本,默认 1.1.1 |
srs | string | 地图投影类型,默认 EPSG:900913 |
天地图标准图层 TileLayer.TDT
<TdtTileLayerTDT url="…" attribution="天地图" />
<tdt-tile-layer-tdt url="…" attribution="天地图"></tdt-tile-layer-tdt>
在瓦片图层 props 基础上追加 attribution(用来描述图层信息)。
格网图层 GridlineLayer
显示经纬网格与行列号、层级的辅助图层:
<TdtGridlineLayer />
<tdt-gridline-layer opacity="0.6"></tdt-gridline-layer>
| Prop | 类型 | 说明 |
|---|---|---|
tileSize | number | 格网图层的网格大小,单位像素,默认 256 |
minZoom / maxZoom | number | 缩放级别范围 |
opacity | number | 透明度 |
outlineSize | object | 边线的颜色、宽度、线样式,默认 { width: 1, style: 'solid', color: '#999' } |
textSize | object | 文字样式(行号、列号、层级),默认不显示 |
事件:loading load
图层组 LayerGroup
批量管理一组覆盖物的显隐与移除。<TdtMarker> 写在其内部即加入图层组:
<TdtLayerGroup>
<TdtMarker :lnglat="[116.404, 39.915]" />
<TdtMarker :lnglat="[116.418, 39.92]" />
</TdtLayerGroup>
<tdt-layer-group>
<tdt-marker lnglat="116.404,39.915"></tdt-marker>
<tdt-marker lnglat="116.418,39.92"></tdt-marker>
</tdt-layer-group>
Web Components
<tdt-map tk="…" center="116.404,39.915" zoom="12">
<tdt-gridline-layer opacity="0.6"></tdt-gridline-layer>
<tdt-tile-layer
url="http://t0.tianditu.gov.cn/cva_w/wmts?tk=你的浏览器端密钥"
z-index="2"
></tdt-tile-layer>
</tdt-map>
四个图层元素与 Vue 端一一对应:tdt-tile-layer、tdt-tile-layer-wms、tdt-tile-layer-tdt、tdt-gridline-layer。attribute 随上方各表字段(kebab-case),bounds 写成 "swLng,swLat;neLng,neLat",格网图层的 outline-size、text-size 为纯数据对象,用 JSON。事件以 tdt- 前缀派发(如 tdt-load)。