在vue中使用leaflet加載地圖


之前碰到局域網中搭建地圖需求,用leaflet進行操作(vue2項目),以此記錄:

一.安裝引入

npm install leaflet --save

在main.js中引入(也可以在所需頁面引入,由於leftlet很小,只有38K,就直接全局了)

import L from "leaflet"
import "leaflet/dist/leaflet.css" 

二.在vue中使用

<template>
  <div class="mapBox">
    <div>在vue2中使用leaflet</div>
    <!-- 地圖容器 -->
    <div id="map"></div>
  </div>
</template>

<script>
  export default {
    name: 'LeafletMap',
    data() {
      return {
        map: null
      }
    },
    mounted() {
      // 地圖初始化
      this.initMap()
    },
    methods: {
      // 使用id為map的div容器初始化地圖,同時指定地圖的中心點和縮放級別
      initMap() {
        let map = L.map("map", {
          center: [24.485666, 118.095498], // 中心位置
          zoom: 12, // 縮放等級
          attributionControl: true, // 版權控件
          zoomControl: true //縮放控件
        });
        this.map = map; // data上需要掛載
        L.tileLayer(
          "http://wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}"
        ).addTo(map) // 加載底圖
      }
    }
  }
</script>
<style scoped>
  #map {
    width: 800px;
    height: 500px;
    margin: 50px auto;
  }
</style>

  效果如下:

 初始化的時候還有一些別的參數可配置:地圖狀態:minZoom,maxZoom,crs,交互選項:dragging等,

官方文檔地址:  https://leafletjs.com/reference.html,

木遙翻譯中文版地址:鏈接:https://pan.baidu.com/s/143LMcNA9leTWuscplaf3JQ提取碼:g7i2

tileLayer底圖用的是高德的,地址參考:  https://blog.csdn.net/sinat_41310868/article/details/105959659
高德路網:
https://wprd01.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scl=2&style=8&ltype=11
高德影像:
https://webst01.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}
高德矢量:
http://wprd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}
谷歌矢量:
http://mt2.google.cn/vt/lyrs=m&scale=2&hl=zh-CN&gl=cn&x={x}&y={y}&z={z}
谷歌路網:
https://mt1.google.com/vt/lyrs=h&x={x}&y={y}&z={z}
谷歌影像:
http://www.google.cn/maps/vt?lyrs=s@189&gl=cn&x={x}&y={y}&z={z}
谷歌影像帶注記:
https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}
谷歌地形:
https://mt1.google.com/vt/lyrs=t&x={x}&y={y}&z={z}
谷歌地圖矢量帶地形渲染:
https://mt1.google.com/vt/lyrs=r&x={x}&y={y}&z={z}
街景地圖:
https://tile.openstreetmap.org/{z}/{x}/{y}.png
天地圖影像:
http://t7.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e3b434f191257368fc43c5b011ab5911
天地圖影像注記:
http://t7.tianditu.gov.cn/cia_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e3b434f191257368fc43c5b011ab5911
天地圖矢量:
http://t7.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=e3b434f191257368fc43c5b011ab5911

天地圖矢量注記:
http://t7.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=e3b434f191257368fc43c5b011ab5911

天地圖地形:
http://t7.tianditu.gov.cn/ter_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=ter&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e3b434f191257368fc43c5b011ab5911
天地圖地形注記:
http://t7.tianditu.gov.cn/cta_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cta&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=e3b434f191257368fc43c5b011ab5911

騰訊地圖矢量:
http://rt0.map.gtimg.com/realtimerender?z={z}&x={x}&y={-y}&type=vector&style=0

多說一句,本來想在高德官網找類似的地址,結果沒找到.問過客服說是暫時不對外提供三方渲染引擎使用,所以如果商用,慎重,可以找開放的.

github也有大神把leaflet進行了封裝,github地址:  https://github.com/vue-leaflet/Vue2Leaflet

當然,還有地圖標點,划線,划區域我們下次再說

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM