当前位置: 首页 > news >正文

leaflet前端初始化项目

1、通过npm安装leaflet包,或者直接在项目中引入leaflet.js库文件。

npm 安装:npm i leaflet

如果在index.html中引入leaflet.js,在项目中可以直接使用变量L.

注意:尽量要么使用npm包,要么使用leaflet.js库,两者一起使用容易发生冲突,引起莫名奇妙的bug.下面以使用leaflet.js库为例。

2、初始地图实例

//国家天地图(矢量)
    this.layer = L.tileLayer(mapData.layerV)

    // 国家天地图(矢量注记)
    // this.layer2 = L.tileLayer(mapData.layerVZ)

    //国家天地图(影像)
    this.layer3 = L.tileLayer(mapData.layerW);

    //国家天地图(影像注记)
    this.layer4 = L.tileLayer(mapData.layerWZ);
    L.CRS.CustomEPSG4490 = L.extend({}, L.CRS.Earth, {
        code: "EPSG:4490",
        projection: L.Projection.LonLat,
        transformation: new L.Transformation(1 / 180, 1, -1 / 180, 0.5),
        scale: function (zoom) {
            return 256 * Math.pow(2, zoom - 1);
        },
    });

    this.map = L.map(this.id, {
      crs: L.CRS.CustomEPSG4490,//设置坐标系

      center: [mapData.mapCenterY, mapData.mapCenterX],

      zoom: Number(mapData.mapZoom) + 1,

      maxZoom: 18, //最大缩放层级

      minZoom: 1, //最小缩放层级

      tileSize: 256, //切片大小

      attributionControl: false, // 移除右下角leaflet标识

      zoomControl: false, //禁用 + - 按钮

      // preferCanvas: true, //默认使用svg渲染,设置canvas渲染

      doubleClickZoom: false, //关闭双击缩放

      layers: [this.layer], //添加地图图层
      // layers: [this.layer, this.layer2], //添加地图图层
    });
<div :id="id" class="map-box"></div>

这里id作为变量,有父组件传入,可在不同位置引入地图组件而不发生冲突。

关于地图的详细配置参考Documentation - Leaflet - 一个交互式地图 JavaScript 库

相关文章:

  • 机器学习 - 线性模型
  • Linux 内存管理与文件页缓冲区
  • 【go语言规范】 使用函数式选项 Functional Options 模式处理可选配置
  • SpringBoot整合ClickHouse数据库教程
  • 117.填充每个节点的下一个右侧节点指针Ⅱ python
  • PostgreSQL 的崛起与无服务器数据库的新时代
  • kafka集群配置操作
  • Android - Handler使用post之后,Runnable没有执行
  • 地理探测器数据准备及驱动因素分析
  • SQL在云计算中的新角色:重新定义数据分析
  • 【阮一峰】14.命名空间
  • 学习总结2.18
  • ppt中如何快速自动地将整页标题和大段文字自动设计形状和颜色
  • kafka消费能力压测:使用官方工具
  • 大模型工具大比拼:SGLang、Ollama、VLLM、LLaMA.cpp 如何选择?
  • 刚性平衡机建模
  • [Android] Battery Guru - 手机电量管理优化
  • stm32rtc实时时钟详解文章
  • 学习查看 linux 关于进程的文件信息 cat /proc/968/status
  • LNMP+Zabbix安装部署(Zabbix6.0 Lnmp+Zabbix Installation and Deployment)
  • 西安机场回应航站楼“水帘洞”事件:屋面排水系统被冰雹堵塞
  • 上海国际电影节推出三大官方推荐单元,精选十部优秀影片
  • 复旦大学文科杰出教授裘锡圭逝世,享年90岁
  • 印巴冲突升级,巴基斯坦股市重挫7.29%,创5年来最大单日跌幅
  • 85后清华博士黄佐财任湖北咸宁市咸安区委副书记、代区长
  • 【社论】以法治力量促进民企长远健康发展