【Leaflet入门】vue使用leaflet插件

Leaflet入门

【Leaflet入门】vue使用leaflet插件–初始化
【Leaflet入门】vue使用leaflet插件–图层服务
【Leaflet入门】vue使用leaflet插件–几何绘制


前言

最近做的项目需要用到地图服务,之前我使用过高德,百度,天地图一些国内的地图服务,然后有一些需求,国内的这些服务呢可能需要毛爷爷,然后在同事的推荐下使用啦leaflet,这里记录一下使用的方法和一些开发中遇到问题。


`

一、Leaflet是什么?

Leaflet 是一个开源并且对移动端友好的交互式地图 JavaScript 库。 它大小仅仅只有 42 KB of JS, 并且拥有绝大部分开发者所需要的所有地图特性 。

Leaflet 简单、高效并且易用。 它可以高效的运行在桌面和移动平台, 拥有着大量的 扩展插件、 优秀的文档、简单易用的 API 和完善的案例, 以及可读性较好的源码
这里给大家推荐一个Leaflet的中文文档,方便大家后续开发
链接: leaflet中文文档

二、使用步骤

1.引入库

我这里使用的前端框架是vue,我就以vue为例和大家介绍
首先需要下载leaflet的插件
代码如下:

npm install leaflet

下载完成之后,根据你的需求选择全局引入或者按需引入,这里我的需求是按需引入
跟国内服务不同的是leaflet不需要注册申请key才能使用
我们除了需要引入leaflet之外,还要引入他的样式
代码如下:

import * as L from 'leaflet';
import 'leaflet/dist/leaflet.css';

2.初始化地图

我们完成第一步之后,接下来就是初始化地图服务
在vue的里,我们需要把初始化的方法放到mounted的生命周期里
代码如下:

data() {
    return {
      map: null,
    };
  },
  mounted() {
    this.initMap();
  },
  methods:{
  initMap() {
      const VEC_C =
        'http://t0.tianditu.gov.cn/vec_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=';
      const CVA_C =
        'http://t0.tianditu.gov.cn/cva_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cva&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=';
      const TK_KEY = '天地图key';
      var layer1 = L.tileLayer(VEC_C + TK_KEY, {
        tileSize: 256,
        layers: 'layers1'
      });
      var layer2 = L.tileLayer(CVA_C + TK_KEY, {
        tileSize: 256,
        layers: 'layers2'
      });
      this.map = L.map('map', {
        center: [29.12495511624777, 113.57457709047115],
        zoom: 5,
        crs: L.CRS.EPSG4326,
        layers: [layer1, layer2,],
        zoomControl: false, // 禁用 + - 按钮
        doubleClickZoom: false, // 禁用双击放大
        attributionControl: false // 移除右下角leaflet标识
      });
    },
  }

你可以定义一个map变量,这里用来接收leaflet的实例化对象,以便你后续的开发中使用
因为项目需求,我这里的图层使用的是天地图提供的图层,因为天地图的标注和地图是分开的,所以这里我引入啦两个图层。


完成上述步骤,可以运行项目,你就可以看到图层已经加载出来啦

总结

以上就是今天要讲的内容,本文仅仅简单介绍了如何引入leaflet插件,并且初始化我们map对象

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值