少小白学前端——leaflet篇(Javascript 地图库)

废话少说,就是最近想了解一下gis开发,网上搜了一下,推荐了leaflet、OpenLayers等等,于是今天就练习了一下leaflet,并做出如下记录。

先上中文文档:https://leafletjs.cn/reference.html

一、安装

这里提供两种方式,npm和CDN引入。另外,还建议安装一个插件leaflet.chinesetmsproviders,使用这个插件可以将高德地图、百度地图等集成到leaflet中。

1、CDN引入

引入方式在中文文档中就有,代码如下:

<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.3/dist/leaflet.css"
      integrity="sha256-kLaT2GOSpHechhsozzB+flnD+zUyjE2LlfWPgU04xyI="
      crossorigin=""/>
      
<script src="https://unpkg.com/leaflet@1.9.3/dist/leaflet.js"
        integrity="sha256-WBkoXOwTeyKclOHuWtc+i2uENFpDZ9YPdf5Hf+D7ewM="
        crossorigin=""></script>
        
<script src="https://cdn.jsdelivr.net/npm/leaflet.chinesetmsproviders@1.0.22/src/leaflet.ChineseTmsProviders.min.js"></script>

前两个是leaflet的CSS和JS文件,第三个则是插件的JS文件。

2、npm
 // leaflet
 npm i leaflet --save
 // 插件
 npm install leaflet.chinesetmsproviders

二、使用

如果采用的是CDN的方式,此刻在window对象中,已经可以看到leaflet的属性和方法了。若使用的是npm,则需要引入一下:

// 引入leaflet
import L from 'leaflet';
import 'leaflet/dist/leaflet.css';
// 引入插件
import 'leaflet.chinesetmsproviders';

注意:这里需要把CSS一起引入进来,否则无法正常显示。

1、创建地图画布

想要创建地图,需要先创建一个带有id的div标签作为地图容器,并设置好高度。然后便可以使用其提供的map()方法,进行渲染了。

<template>
  <div id="map-id" style="height: 800px"></div>
</template>

<script setup>
import {onMounted} from "vue";

onMounted(() => {
  // 初始化地图,并设置地理中心和缩放倍数
  let map = L.map('map-id', {
    center: [39.90, 116.39],
    zoom: 12
  });
  // 添加瓦片(Tile)图层
  L.tileLayer.chinaProvider('GaoDe.Normal.Map',{maxZoom:18,minZoom:5}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值