Skip to content

主要构成

主要模块有地图YY. Map, 瓦片图层YY. TileLayer, 矢量图层YY. VectorLayer, 覆盖物YY. Overlay;

Map

  • 在 GIS 系统中 Map 对象为最为重要和核心的对象,
js
var map = new YY.Map("map", {
    centerCross: true,
    bearing: -90,
    center: [120.34, 31.309622415877158],
    // pitch:40,
    // overviewControl:true,

    zoom: 6,
    // minZoom:4
});

TileLayer

  • TileLayer 涉及到坐标系和空间投影信息,影响着整个系统的数据,目前常用的坐标投影有

    • EPSG:3857(84 墨卡托投影)
    • EPSG:4326(84 经纬度投影) , EPSG:4490(中国 2000),两者误差民用方面几乎可以忽略不计, 故把他们看成一个
    • BD09(百度) ❌

    针对以上常见的坐标投影我们都做了很好的支持

js
//快速获取 高德地图  EPSG:3857
var amapTileLayer = YY.LayerLookup.lookup("amap");
map.addBaseLayer(amapTileLayer);

//快速获取天地图  EPSG:4490
var tdtTileLayer1 = YY.LayerLookup.lookup("tdt", {
    style: "image",
});
map.addBaseLayer(tdtTileLayer1);

//快速获取百度地图  BD09
// var baiduTileLayer1 = YY.LayerLookup.lookup("baidu", {
//   style: "image",
// });
// map.addBaseLayer(baiduTileLayer1);

警告

当我们做项目中,涉及的 GIS 数据是哪个坐标投影这个非常重要的,不可乱用, mapplat 平台里我们主要使用高德(火星)和天地图(CGCS2000)坐标系统, 百度太过特立独行所以没有去集成, 谷歌因为政策原因也没有去集成

常见底图坐标系投影我们是否会花大力气去支持适用场景
高德火星墨卡托✔️外网项目
腾讯火星墨卡托✔️外网项目
天地图2000墨卡托/经纬度✔️外网/内网项目
百度BD09墨卡托外网项目
谷歌火星(限国内)墨卡托外网项目
政府内网的底图2000/WGS84经纬度/墨卡托✔️内网项目

VectorLayer

  • VectorLayer 矢量图层,业务之王,你会发现业务中到处是其身影
js
const cameraLayer = new YY.VectorLayer();
const pliceLayer = new YY.VectorLayer();
....

警告

一般来说我们将同一类型的数据放到同一个图层,比如监控探头的数据放到一个图层,警务人员的数据放到一个图层等

Overlay

  • Overlay 覆盖物,是对地图上数据的统称,点,线,面,文字等,我们都叫覆盖物, 一个地图上可以多个 VetorLayer, 一个 VetorLayer 里可以有多个 Overlay
js
//创建一个点
const point = new YY.Point([120, 31]).addTo(layer);
point.on("click", (e) => {
    console.log(e);
});

const line = new YY.Polyline([
    [120, 31],
    [120, 32]
]).addTo(layer);
.....

This document is generated by vitepress and Edit by deyihu