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

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 库


http://www.kler.cn/a/552192.html

相关文章:

  • 【ARTS】【LeetCode-977】有序数组的平方
  • 单元测试整理
  • 2023年区块链职业技能大赛——区块链应用技术(一)模块一
  • Ubuntu 24或最新Ubuntu 安装 英伟达显卡驱动
  • 共享储能系统在新能源消纳中的应用及能源区块链的数据共享与全同态加密信息披露机制
  • 【ClickHouse 特性及应用场景】
  • 【git】已上传虚拟环境的项目更改成不再上传虚拟环境
  • 智能选择+NAT
  • META-INF 文件夹用途
  • 通过检索增强生成技术与大语言模型推进网络事件时间线分析
  • 2025年新型智慧城市整体解决方案下载:顶层规划设计,应用总体建设方案
  • uniapp Flex 布局使用记录
  • Windows Docker Desktop部署MaxKB详细教程
  • 2025-02-18 学习记录--C/C++-PTA 7-24 约分最简分式
  • QT C++ modbus 两个字 合成 32位整数
  • openCV中如何实现滤波
  • 基于Electron+Vue3创建桌面应用
  • 3.10 企业级AI内容生成引擎:从策略到落地的全链路技术指南
  • 调用openssl实现加解密算法
  • Linux升级Anacodna并配置jupyterLab