最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue結(jié)合leaflet實現(xiàn)地圖放大鏡

 更新時間:2023年06月26日 15:16:57   作者:努力搬磚的giser  
放大鏡在很多地方都可以使用的到,本文主要介紹了vue結(jié)合leaflet實現(xiàn)地圖放大鏡,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文介紹了Web端使用 Leaflet開發(fā)庫顯示地圖放大鏡的方法 (底圖來源:中科星圖),結(jié)合 leaflet.magnifyingglass插件可以為Leaflet圖層添加“放大鏡”效果,能夠以不同的縮放比例顯示地圖的一部分 ,顯示效果如下圖所示。

開發(fā)環(huán)境

Vue開發(fā)庫:3.2.37 & Leaflet開發(fā)庫:1.9.3

Leaflet插件:leaflet.magnifyingglass

使用教程

安裝依賴庫

通過github倉庫下載,引入項目中

leaflet.magnifyingglass倉庫 https://github.com/bbecquet/Leaflet.MagnifyingGlass

克隆leaflet.magnifyingglass倉庫,下載完畢后,進(jìn)入Leaflet.MagnifyingGlass文件夾,將該目錄下的leaflet.magnifyingglass.jsleaflet.magnifyingglass.css引入本地項目中。

# 克隆leaflet.magnifyingglass倉庫
git clone https://github.com/bbecquet/Leaflet.MagnifyingGlass.git

使用簡介

// 創(chuàng)建地圖放大鏡底圖(請勿使用主地圖已在使用的圖層對象)
const baseLayer1 = L.tileLayer('https://tiles1.geovisearth.com/base/v1/vec/{z}/{x}/{y}?token=yours_token'); 
const vecLayer = L.layerGroup([baseLayer1])
// 創(chuàng)建地圖放大鏡圖層,并添加到地圖中
let magnifyingGlass = L.magnifyingGlass({
    // 主地圖縮放和放大鏡之間的縮放級別偏移
    zoomOffset: 3,
    layers: [vecLayer]
}).addTo(map);

以下是核心的參數(shù)配置項(更新時間:2023年5月13日)

參數(shù)類型默認(rèn)描述
radiusInteger100放大鏡的半徑(以像素為單位)
zoomOffsetInteger3主地圖縮放和放大鏡之間的縮放級別偏移
fixedZoomInteger-1放大鏡圖層顯示固定某一層級,不隨地圖比例尺變化而變化
fixedPositionBooleanfalse如果為true放大鏡將停留在地圖上的相同位置,而不是跟隨鼠標(biāo)光標(biāo)移動
latLngLatLng[0, 0]放大鏡的初始位置,既在主地圖上,又作為放大視圖的中心。
layersILayer[]要在放大視圖中顯示的圖層集(請勿使用主地圖已在使用的圖層對象)

詳細(xì)源碼(Vue3)

<template>
  <div class="app-contain">
    <!-- leaflet 地圖容器 -->
    <div id="myMap"></div>
  </div>
</template>
<script setup>
// 引入樣式
import L from 'leaflet';
import 'leaflet/dist/leaflet.css'
// 引入地圖放大鏡
import './store/leaflet.magnifyingglass.css'
import './store/leaflet.magnifyingglass.js'
import {onMounted} from 'vue'
const initMap = () => {
  // 影像地圖
  const sourceMap = L.tileLayer('https://tiles1.geovisearth.com/base/v1/img/{z}/{x}/{y}?token=yours_token');
  const layers = L.layerGroup([sourceMap])
  let map = L.map('myMap', {  //需綁定地圖容器div的id
    attributionControl: false,
    zoomControl: true, // 顯示縮放控件
    // 最小顯示等級
    minZoom: 1,
    // 最大顯示等級
    maxZoom: 18,
    // crs: L.CRS.EPSG3857,//設(shè)置坐標(biāo)系類型  EPSG3857偽墨卡托投影
    scrollWheelZoom: true, //默認(rèn)開啟鼠標(biāo)滾輪縮放
    // 限制顯示地理范圍
    maxBounds: L.latLngBounds(L.latLng(-90, -180), L.latLng(90, 180)),
    // 限制顯示地理范圍
    layers: [layers] // 圖層
  }).setView([28.907459, 120.003576], 6)
  // 比例尺
  L.control.scale({maxWidth: 240, metric: true, imperial: false, position: 'bottomleft'}).addTo(map);
  /** 地圖放大鏡 */
  const baseLayer1 = L.tileLayer('https://tiles1.geovisearth.com/base/v1/vec/{z}/{x}/{y}?token=yours_token');
  const vecLayer = L.layerGroup([baseLayer1])
  // 創(chuàng)建地圖放大鏡圖層,并添加到地圖中
  let magnifyingGlass = L.magnifyingGlass({
    // 主地圖縮放和放大鏡之間的縮放級別偏移
    zoomOffset: 3,
    layers: [vecLayer]
  }).addTo(map);
}
onMounted(() => {
  initMap()
})
</script>
<style scoped>
#myMap {
  width: 96vw;
  height: 96vh;
}
</style>

 到此這篇關(guān)于vue結(jié)合leaflet實現(xiàn)地圖放大鏡的文章就介紹到這了,更多相關(guān)vue leaflet地圖放大鏡內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • VUE中如何優(yōu)雅實現(xiàn)爺孫組件的數(shù)據(jù)通信

    VUE中如何優(yōu)雅實現(xiàn)爺孫組件的數(shù)據(jù)通信

    所謂祖孫組件,也就是3層嵌套的組件,下面這篇文章主要給大家介紹了關(guān)于VUE中如何優(yōu)雅實現(xiàn)爺孫組件的數(shù)據(jù)通信的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Vue?動畫效果、過渡效果的示例代碼

    Vue?動畫效果、過渡效果的示例代碼

    這篇文章主要介紹了Vue?動畫效果、過渡效果,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • vue 圖標(biāo)選擇器的實例代碼

    vue 圖標(biāo)選擇器的實例代碼

    本文通過實例代碼給大家介紹了vue 圖標(biāo)選擇器的相關(guān)知識,圖文實例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11
  • Vue進(jìn)階之CodeMirror的應(yīng)用小結(jié)

    Vue進(jìn)階之CodeMirror的應(yīng)用小結(jié)

    CodeMirror支持在線編輯代碼,風(fēng)格包括js, java, php, c++等等100多種語言,下面這篇文章主要來和大家講講CodeMirror的應(yīng)用,感興趣的可以了解一下
    2023-06-06
  • 詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource

    詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource

    本篇文章主要介紹了詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • vue watch關(guān)于對象內(nèi)的屬性監(jiān)聽

    vue watch關(guān)于對象內(nèi)的屬性監(jiān)聽

    這篇文章主要介紹了vue watch關(guān)于對象內(nèi)的屬性監(jiān)聽的相關(guān)知識,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-04-04
  • 深入了解Vue Pinia持久化存儲二次封裝

    深入了解Vue Pinia持久化存儲二次封裝

    Pinia 是2019年由vue.js官方成員重新設(shè)計的新一代狀態(tài)管理庫,類似Vuex,下面我們就來學(xué)習(xí)一下如何通過Pinia實現(xiàn)持久化存儲的相關(guān)知識,感興趣的小伙伴可以了解下
    2023-12-12
  • vue自定義實現(xiàn)計算器組件(附完整代碼)

    vue自定義實現(xiàn)計算器組件(附完整代碼)

    這篇文章主要為大家詳細(xì)介紹了如何使用Vue自定義實現(xiàn)一個計算器組件,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2025-06-06
  • vue3封裝ECharts組件詳解

    vue3封裝ECharts組件詳解

    前端開發(fā)需要經(jīng)常使用ECharts圖表渲染數(shù)據(jù)信息,在一個項目中我們經(jīng)常需要使用多個圖表,選擇封裝ECharts組件復(fù)用的方式可以減少代碼量,增加開發(fā)效率。感興趣的可以閱讀一下本文
    2023-04-04
  • Vue3繪制多系列柱狀圖與曲線圖的示例代碼

    Vue3繪制多系列柱狀圖與曲線圖的示例代碼

    在數(shù)據(jù)可視化領(lǐng)域,圖表是展示復(fù)雜數(shù)據(jù)的重要工具,本文將詳細(xì)介紹如何在Vue3中實現(xiàn)兩種常見的圖表類型,多系列柱狀圖和堆疊曲線圖,并結(jié)合實際場景進(jìn)行數(shù)據(jù)展示
    2025-07-07

最新評論

策勒县| 武宣县| 浦县| 沙坪坝区| 丽江市| 哈尔滨市| 金阳县| 抚松县| 高阳县| 永康市| 射洪县| 华池县| 视频| 呼和浩特市| 西乌珠穆沁旗| 锡林郭勒盟| 张北县| 墨竹工卡县| 杨浦区| 高青县| 无棣县| 文登市| 新乡县| 方城县| 疏勒县| 宜黄县| 肥西县| 鄂托克前旗| 西贡区| 贡觉县| 永川市| 通河县| 中西区| 延津县| 平安县| 宣汉县| 鹤山市| 辽阳县| 阿合奇县| 林周县| 竹山县|