国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

mars3d顯示地圖,并且完成切換地圖圖層的功能,使用隱藏顯示去控制圖層

這篇具有很好參考價(jià)值的文章主要介紹了mars3d顯示地圖,并且完成切換地圖圖層的功能,使用隱藏顯示去控制圖層。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

如何安裝mars3d請(qǐng)看這個(gè)鏈接哈!

我用的是vue3
先引入mars3d

import * as mars3d from "mars3d"

創(chuàng)建地圖的變量

let m3d:any; // 地圖

在template中定義div,并且id名為cesiumBox(可以自定義)

<div id="cesiumBox" class="model"></div>

在 onMounted 中使用

let mapOptions = {
   scene: {
     center: { 
       lat: 21.210378, // 緯度值
       lng: 110.426257, // 經(jīng)度值
       alt: 39192.8, // 高度值
       heading: 4.5, // 方向角度值,繞垂直于地心的軸旋轉(zhuǎn)角度, 0至360
       pitch: -74.1, // 俯仰角度值,繞緯度線旋轉(zhuǎn)角度,-90至90
       // roll: 0, // 翻滾角度值,繞經(jīng)度線旋轉(zhuǎn)角度, -90至90
     },
     scene3DOnly: false, // 為 true 時(shí),每個(gè)幾何實(shí)例將僅以3D渲染以節(jié)省GPU內(nèi)存
     shadows: false, // 是否啟用日照陰影
     removeDblClick: false, // 是否移除Cesium默認(rèn)的雙擊事件
     sceneMode: 3, // 初始場景模式。可以設(shè)置進(jìn)入場景后初始是2D、2.5D、3D 模式。
     showSun: true, // 是否顯示太陽,如修改對(duì)象可以用 map.scene.sun
     showMoon: true, // 是否顯示月亮,如修改對(duì)象可以用 map.scene.moon
     showSkyBox: true, // 是否顯示天空盒,如修改對(duì)象可以用 map.scene.skyBox
     showSkyAtmosphere: true, // 是否顯示地球大氣層外光圈,如修改對(duì)象可以用 map.scene.skyAtmosphere
     fog: true, // 是否啟用霧化效果,如修改對(duì)象可以用 map.scene.fog
     fxaa: true, // 是否開啟快速抗鋸齒
   },
   basemaps: [
     { name: "天地圖", type: "tdt", layer: "img_d", show: true },
   ],
   control: {
     baseLayerPicker: false
   }
 };
 m3d = new mars3d.Map("cesiumBox", mapOptions);

切換地圖圖層的實(shí)例
在上面的實(shí)例繼續(xù)添加下面代碼
show為false的話是圖層隱藏掉
天地圖的api鏈接在底部

const tdt_tk = ['']; // 這個(gè)key就是你在天地圖中申請(qǐng)的key,這個(gè)是數(shù)組形式
// 電子海圖
  dzht = new mars3d.layer.ArcGisTileLayer({
    name: "電子海圖",
    url: "http://www.oceanread.com:213/arcgis/rest/services/chart/chartAll/MapServer",
    show: true
  })
  
  // 影像底圖
  wxt = new mars3d.layer.TdtLayer({
    layer: 'img_d',
    name: '影像底圖',
    url: 'https://t{s}.tianditu.gov.cn/img_w/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={z}&layer=img&style=default&tilerow={y}&tilecol={x}&tilematrixset=w&format=tiles',
    key: tdt_tk,
    show: false,
    zIndex: 1
  })

  wxt2 = new mars3d.layer.TdtLayer({
    layer: 'img_z',
    name: '影像注記',
    url: 'https://t{s}.tianditu.gov.cn/cia_w/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={z}&layer=cia&style=default&tilerow={y}&tilecol={x}&tilematrixset=w&format=tiles',
    key: tdt_tk,
    show: false,
    zIndex: 2
  })

  // 矢量底圖
  slt = new mars3d.layer.TdtLayer({
    layer: 'vec_d',
    name: '矢量底圖',
    url: 'https://t{s}.tianditu.gov.cn/vec_w/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={z}&layer=vec&style=default&tilerow={y}&tilecol={x}&tilematrixset=w&format=tiles',
    key: tdt_tk,
    show: false,
    zIndex: 1
  })

  slt2 = new mars3d.layer.TdtLayer({
    layer: 'vec_z',
    name: '矢量注記',
    url: 'https://t{s}.tianditu.gov.cn/cva_w/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={z}&layer=cva&style=default&tilerow={y}&tilecol={x}&tilematrixset=w&format=tiles',
    key: tdt_tk,
    show: false,
    zIndex: 2
  })

  // 添加圖層
  m3d.addLayer(dzht)
  m3d.addLayer(wxt)
  m3d.addLayer(wxt2)
  m3d.addLayer(slt)
  m3d.addLayer(slt2)

接著在 template 添加此代碼

<button @click="add([0])" class="model_d">電子海圖</button>
<button @click="add([1,2])" class="model_d2">影像底圖</button>
<button @click="add([3,4])" class="model_d3">矢量底圖</button>
const add = (index:any) => {
  
  // 獲取所有的圖層,不包含basemaps和layers中的圖層
  const layersss =m3d.getLayers({
    basemaps:false, // 不包含basemps中配置的所有圖層
    layers:false // 不包含layers中配置的所有圖層
  })
  // 先隱藏所有的圖層
  console.log(layersss);
  layersss.map((res:any) => {
    res.show = false
  })
  // 再指定的圖層下顯示
  for(let i = 0; i < index.length; i++){
    layersss[index[i]].show = true
  }
  
  // 第2種方法:使用移除圖層,在添加圖層
  // 一開始就不要 addLayer 圖層了,直接需要哪個(gè)就添加哪個(gè)的圖層就可以
  // m3d.removeLayer(dzht)
  // 矢量底圖
  // dzht = new mars3d.layer.TdtLayer({
  //   layer: 'vec_d',
  //   name: '矢量底圖',
  //   url: 'https://t{s}.tianditu.gov.cn/vec_w/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={z}&layer=vec&style=default&tilerow={y}&tilecol={x}&tilematrixset=w&format=tiles',
  //   key: tdt_tk,
  //   show: true
  // })
  // m3d.addLayer(dzht)
  
}

天地圖的api
天地圖的實(shí)例文章來源地址http://www.zghlxwxcb.cn/news/detail-520110.html

到了這里,關(guān)于mars3d顯示地圖,并且完成切換地圖圖層的功能,使用隱藏顯示去控制圖層的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • mars3d繪制區(qū)域范圍(面+邊框)

    mars3d繪制區(qū)域范圍(面+邊框)

    1、圖例(綠色面區(qū)域+白色邊框) ?2、代碼 1)、繪制區(qū)域ts文件 解釋: 1、new mars3d.layer.GeoJsonLayer ? ? ?生成矢量圖層 2、styleField ? ? ? \\\"levels\\\" 是在json文件中區(qū)分不同級(jí)別景區(qū)的標(biāo)志,值為1、2、3等 3、styleFieldOptions ? ? ? 根據(jù)styleField獲取到的值進(jìn)行區(qū)分,劃分不同顏色的

    2024年02月15日
    瀏覽(26)
  • vue3 mars3d 天地圖

    ????????????????npm i?mars3d? ????????????????npm i mars3d-heatmap (熱力圖,需要的話安裝) ????????????????npm i -D?copy-webpack-plugin ????????????????增加mars3d目錄配置,修改vue.config.js中configureWebpack里的內(nèi)容如下: ?使用: 最后附上天地圖mapUrl地址

    2024年02月15日
    瀏覽(26)
  • Vue2項(xiàng)目使用mars3d

    或參考webpack.config.js寫法進(jìn)行修改

    2024年02月14日
    瀏覽(57)
  • Mars3D/Cesium + VUE3

    不定期更新 參考官網(wǎng): http://mars3d.cn/dev/guide/start/import.html#_3-3-vite-%E6%8A%80%E6%9C%AF%E6%A0%88%E6%97%B6-%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E4%BF%AE%E6%94%B9 :已親測(cè)vite框架,可以運(yùn)行,具體見下main 1、插件 vite-plugin-mars3d vite中需要

    2024年02月14日
    瀏覽(31)
  • Mars3D Studio 的使用方法

    Mars3D Studio 的使用方法

    mars3d Studio 是 mars3d 研發(fā)團(tuán)隊(duì)于近期研發(fā)上線的一款 場景可視化編輯平臺(tái)。擁有資源存檔、團(tuán)隊(duì)協(xié)作、定制材質(zhì)等豐富的功能??梢詫?shí)現(xiàn)零代碼構(gòu)建一個(gè)可視化三維場景。 (1)數(shù)據(jù)上傳:目前支持 tif 影像上傳、 3dtitles 、 gltf 小模型上傳以及矢量數(shù)據(jù)( shp、gesojson、kml ) 下

    2023年04月16日
    瀏覽(30)
  • Mars3d項(xiàng)目啟動(dòng)上的一些坑

    Mars3d項(xiàng)目啟動(dòng)上的一些坑

    最近新入職了一家公司,公司新開了有個(gè)未來城市的項(xiàng)目,需要用到3D城市建模,公司老總選了Mars3d作為前端框架,項(xiàng)目分給我了,又是一個(gè)全新的領(lǐng)域,開搞吧! 下面是自己遇到的幾個(gè)小問題,記錄一下: 1 npm install copy-webpack-plugin --save -dev 時(shí)報(bào)錯(cuò) 解決辦法:npm install cop

    2024年02月05日
    瀏覽(28)
  • [mars3d 學(xué)習(xí)] 最近升級(jí)版本造成的問題

    [mars3d 學(xué)習(xí)] 最近升級(jí)版本造成的問題

    1、mars3d升級(jí)3.5以上,使用的時(shí)候報(bào)錯(cuò); 需要看下?Mars3D三維可視化平臺(tái) | 火星科技?版本更新日志; 使用將Cesium的版本升級(jí)到1.103 2、升級(jí)Cesium到1.103,之后打包又會(huì)報(bào)錯(cuò) -?error in ./node_modules/mars3d-Cesium/Build/Cesium/index.js 哦,是因?yàn)閏esium1.96改變了代碼打包方式;在vue2中就會(huì)存在

    2024年02月17日
    瀏覽(49)
  • Mars3D使用過程遇到的問題記錄【持續(xù)更新】

    需要標(biāo)注線面的角度heading 2022年6月23日 heading計(jì)算方式: https://turfjs.fenxianglu.cn/ 計(jì)算兩點(diǎn)之間的角度 直接F12在控制臺(tái)可以計(jì)算 eg: 加載gltf模型,模型是透明的,需要改為不透明 2022年6月23日 用文本編輯器打開.gltf,把里面的\\\"alphaMode\\\":\\\"BLEND\\\"改成\\\"alphaMode\\\":\\\"OPAQUE\\\" 模型旋轉(zhuǎn)之后,標(biāo)

    2024年02月08日
    瀏覽(30)
  • vue3+vite項(xiàng)目集成mars3d

    創(chuàng)建一個(gè)項(xiàng)目 yarn create vite // vue - ts 安裝依賴 yarn add?vite-plugin-mars3d -D yarn add?mars3d 控制臺(tái)警告 warning \\\" mars3d@3.5.0\\\" has unmet peer dependency \\\"@turf/turf@^6.5.0\\\". warning \\\" mars3d@3.5.0\\\" has unmet peer dependency \\\"mars3d-cesium@~1.103.1\\\". 安裝 yarn add? @turf/turf?mars3d-cesium 修改 vite.config.ts 修改srcApp.vue 就可

    2024年02月15日
    瀏覽(31)
  • Mars3d采用ellipsoid球?qū)崿F(xiàn)模擬地球旋轉(zhuǎn)效果

    Mars3d采用ellipsoid球?qū)崿F(xiàn)模擬地球旋轉(zhuǎn)效果

    1.Mars3d采用ellipsoid球?qū)崿F(xiàn)模擬地球旋轉(zhuǎn)效果 2.開始自選裝之后,模型一直閃爍 http://mars3d.cn/editor-vue.html?id=graphic/entity/ellipsoid 3.相關(guān)代碼: ? 4.采用屬性機(jī)制即可實(shí)現(xiàn)球體模擬地球旋轉(zhuǎn)的效果: 采用屬性機(jī)制即可

    2024年02月16日
    瀏覽(48)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包