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

Vue使用openlayers加載天地圖

 更新時間:2024年02月05日 08:52:47   作者:會說法語的豬  
這篇文章主要為大家詳細(xì)介紹了Vue如何使用openlayers加載天地圖,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,感興趣的小伙伴可以了解下

申請?zhí)斓貓Dkey

官方:https://www.tianditu.gov.cn/

申請key:https://sso.tianditu.gov.cn/login?service=https%3A%2F%2Fconsole.tianditu.gov.cn%2F

進(jìn)去之后,先登錄,如果沒賬號先注冊一個就行。 

可以創(chuàng)建個應(yīng)用,創(chuàng)建完成后,會自動生成key。 

安裝ol加載天地圖 

先安裝下 

npm i ol

然后是完整代碼: 

<template>
  <div id="map-container"></div>
</template>
<script>
import { Map, View } from 'ol'
import { Tile as TileLayer } from 'ol/layer'
import { get } from 'ol/proj';
import { getWidth, getTopLeft } from 'ol/extent'
import { WMTS } from 'ol/source'
import WMTSTileGrid from 'ol/tilegrid/WMTS'
 
export const projection = get("EPSG:4326");
const projectionExtent = projection.getExtent();
const size = getWidth(projectionExtent) / 256;
const resolutions = [];
for (let z = 2; z < 19; ++z) {
  resolutions[z] = size / Math.pow(2, z);
}
 
let map;
export default {
  data() {
    return {
 
    }
  },
  mounted(){
    this.initMap('SL') // 加載矢量底圖
    // this.initMap('YX') // 加載影像底圖
    // this.initMap('DX') // 加載地形暈渲
  },
  methods:{
    initMap(layerType = 'SL') {
      const TIANDI_KEY = '31499a6260cb9f29558750d04a934256'
 
      // 對應(yīng)的值是固定的
      const layerTypeMap = {
        'SL': ['vec', 'cva'], // [矢量底圖, 矢量注記]
        'YX': ['img', 'cia'], // [影像底圖, 影像注記]
        'DX': ['ter', 'cta']  // [地形暈渲, 地形注記]
      }
 
      // c: 經(jīng)緯度投影 w: 球面墨卡托投影
      const matrixSet = 'c'
 
      map = new Map({
        target: 'map-container',
        layers: [
          // 底圖
          new TileLayer({
            source: new WMTS({
              url: `http://t{0-6}.tianditu.com/${layerTypeMap[layerType][0]}_${matrixSet}/wmts?tk=${TIANDI_KEY}`,
              layer: layerTypeMap[layerType][0],
              matrixSet: matrixSet,
              style: "default",
              crossOrigin: 'anonymous', // 解決跨域問題 如無該需求可不添加
              format: "tiles",
              wrapX: true,
              tileGrid: new WMTSTileGrid({
                origin: getTopLeft(projectionExtent),
                //resolutions: res.slice(0, 15),
                resolutions: resolutions,
                matrixIds: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14']
              })
            })
          }),
          // 標(biāo)注
          new TileLayer({
            source: new WMTS({
              url: `http://t{0-6}.tianditu.com/${layerTypeMap[layerType][1]}_${matrixSet}/wmts?tk=${TIANDI_KEY}`,
              layer: layerTypeMap[layerType][1],
              matrixSet: matrixSet,
              style: "default",
              crossOrigin: 'anonymous', // 解決跨域問題 如無該需求可不添加
              format: "tiles",
              wrapX: true,
              tileGrid: new WMTSTileGrid({
                origin: getTopLeft(projectionExtent),
                resolutions: resolutions,
                matrixIds: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14']
              })
            })
          })
        ],
        view: new View({
          center: [169.40, 65.35],
          projection: projection,
          zoom: 3,
          maxZoom: 17,
          minZoom: 1
        })
      })
    }
  }
}
</script>
<style scoped>
#map-container {
  width: 100%;
  height: 100%;
}
</style>

上面把天地圖密鑰替換成你第一步申請的key就可以。

上面示例加載了三種天地圖:矢量底圖、影像底圖、地形暈渲 

效果圖

下面是效果圖:

矢量底圖 

影像底圖

地形暈渲 

到此這篇關(guān)于Vue使用openlayers加載天地圖的文章就介紹到這了,更多相關(guān)Vue openlayers加載天地圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Vue單元測試case寫法

    詳解Vue單元測試case寫法

    這篇文章主要介紹了詳解Vue單元測試case寫法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Vue3中集成高德地圖并實現(xiàn)平移縮放功能

    Vue3中集成高德地圖并實現(xiàn)平移縮放功能

    隨著前端技術(shù)的不斷發(fā)展,地圖應(yīng)用在我們的項目中越來越常見,本文將介紹如何在Vue3項目中集成高德地圖,并通過簡單的配置實現(xiàn)地圖的平移和縮放功能,需要的朋友可以參考下
    2024-09-09
  • vue二選一tab欄切換新做法實現(xiàn)

    vue二選一tab欄切換新做法實現(xiàn)

    這篇文章主要介紹了vue二選一tab欄切換新做法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 基于vue手動實現(xiàn)一個日歷組件

    基于vue手動實現(xiàn)一個日歷組件

    這篇文章主要為大家詳細(xì)介紹了如何基于vue手動實現(xiàn)一個日歷組件,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • 關(guān)于vue-cli-service:command?not?found報錯引發(fā)的實戰(zhàn)案例

    關(guān)于vue-cli-service:command?not?found報錯引發(fā)的實戰(zhàn)案例

    這篇文章主要給大家介紹了關(guān)于vue-cli-service:command?not?found報錯引發(fā)的相關(guān)資料,文中通過實例代碼將解決的過程介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-02-02
  • Vue事件捕獲方式(capture修飾符)

    Vue事件捕獲方式(capture修飾符)

    這篇文章主要介紹了Vue事件捕獲方式(capture修飾符),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • elementui的table根據(jù)是否符合需求合并列的實現(xiàn)代碼

    elementui的table根據(jù)是否符合需求合并列的實現(xiàn)代碼

    這篇文章主要介紹了elementui的table根據(jù)是否符合需求合并列的實現(xiàn)代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • vue組件實例解析

    vue組件實例解析

    Tag組件其實是一個很小的組件,業(yè)務(wù)價值很低,主要用于Vue新手入門。主要實現(xiàn)Vue常用的父組件改變子組件的值,view改變model,model的變化反應(yīng)到view上,事件的綁定等功能。下面跟著小編一起來看下吧
    2017-01-01
  • 使用vue制作FullPage頁面滾動效果

    使用vue制作FullPage頁面滾動效果

    本篇文章主要介紹了使用vue制作FullPage頁面滾動效果,詳細(xì)的介紹了FullPage頁面的思路和實現(xiàn),有興趣的可以了解一下
    2017-08-08
  • 使用Vue完成一個簡單的todolist的方法

    使用Vue完成一個簡單的todolist的方法

    本篇文章主要介紹了使用Vue完成一個簡單的todolist的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12

最新評論

永定县| 六盘水市| 开封市| 山东| 睢宁县| 理塘县| 琼海市| 府谷县| 文安县| 武强县| 广宗县| 登封市| 金溪县| 花垣县| 新乡县| 邹城市| 增城市| 嘉鱼县| 绥芬河市| 泰兴市| 即墨市| 应城市| 万载县| 兴安盟| 元朗区| 酉阳| 时尚| 洱源县| 五指山市| 金寨县| 岱山县| 泾川县| 皋兰县| 札达县| 巩义市| 河曲县| 揭阳市| 长治县| 南阳市| 布拖县| 勃利县|