vue+leaflet笔记之地图放大镜

vue+leaflet笔记之地图放大镜

文章目录

  • vue+leaflet笔记之地图放大镜
    • 开发环境
    • 使用教程
      • 安装依赖库
      • 使用简介
    • 详细源码(Vue3)

本文介绍了Web端使用 Leaflet开发库显示地图放大镜的方法 (底图来源:中科星图),结合 leaflet.magnifyingglass插件可以为Leaflet图层添加“放大镜”效果,能够以不同的缩放比例显示地图的一部分 ,显示效果如下图所示。


开发环境

Vue开发库:3.2.37 & Leaflet开发库:1.9.3

Leaflet插件:leaflet.magnifyingglass


使用教程

安装依赖库

通过github仓库下载,引入项目中

leaflet.magnifyingglass仓库 https://github.com/bbecquet/Leaflet.MagnifyingGlass

克隆leaflet.magnifyingglass仓库,下载完毕后,进入Leaflet.MagnifyingGlass文件夹,将该目录下的leaflet.magnifyingglass.jsleaflet.magnifyingglass.css引入本地项目中。

# 克隆leaflet.magnifyingglass仓库
git clone https://github.com/bbecquet/Leaflet.MagnifyingGlass.git
vue+leaflet笔记之地图放大镜_第1张图片

使用简介

// 创建地图放大镜底图(请勿使用主地图已在使用的图层对象)
const baseLayer1 = L.tileLayer('https://tiles1.geovisearth.com/base/v1/vec/{z}/{x}/{y}?token=yours_token'); 
const vecLayer = L.layerGroup([baseLayer1])
// 创建地图放大镜图层,并添加到地图中
let magnifyingGlass = L.magnifyingGlass({
    // 主地图缩放和放大镜之间的缩放级别偏移
    zoomOffset: 3,
    layers: [vecLayer]
}).addTo(map);

以下是核心的参数配置项(更新时间:2023年5月13日)

参数 类型 默认 描述
radius Integer 100 放大镜的半径(以像素为单位)
zoomOffset Integer 3 主地图缩放和放大镜之间的缩放级别偏移
fixedZoom Integer -1 放大镜图层显示固定某一层级,不随地图比例尺变化而变化
fixedPosition Boolean false 如果为true放大镜将停留在地图上的相同位置,而不是跟随鼠标光标移动
latLng LatLng [0, 0] 放大镜的初始位置,既在主地图上,又作为放大视图的中心。
layers ILayer[] 要在放大视图中显示的图层集(请勿使用主地图已在使用的图层对象)

详细源码(Vue3)






你可能感兴趣的:(#,leaflet,WebGIS,vue.js,javascript)