如何在vue项目中应用arcgis for javascript

该文章详细介绍了如何通过npm安装esri-loader,然后在项目中引入并使用loadModules方法连接arcgis服务,创建Map和SceneView对象,设定地图基础层、地形以及视图的属性,最终实现三维场景的展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 安装esri-loader依赖
npm i esri-loader --save-dev
2. 在页面中引入loadModules
import { loadModules } from 'esri-loader'
3. 使用loadMoudule建立arcgis服务链接,和引入相关模块,创建arcgis应用
// 创建三维场景
    createSceneView() {
      let options = {
        url: 'https://js.arcgis.com/4.14/', // arcgis api
        css: 'https://js.arcgis.com/4.14/esri/themes/light/main.css' // arcgis样式
      }
      loadModules([
        'esri/Map', 
        'esri/views/SceneView'
      ], options).then(([Map, SceneView]) => {
        const map = new Map({ // 创建地图
          basemap: 'streets',
          ground: 'world-elevation'
        })
        // 创建3d视图
        const view = new SceneView({
          container: 'sceneview',
          map: map,
          scale: 50000000,
          center: [-101.17, 21.78]
        })
        console.log(view)
      })
    }
4. 完整代码
<template>
  <div id="sceneview">
   
  </div>
</template>

<script>
import { loadModules } from 'esri-loader'
export default {
  name: 'HomeView',
  components: {
  },
  methods: {
    // 创建三维场景
    createSceneView() {
      let options = {
        url: 'https://js.arcgis.com/4.14/',
        css: 'https://js.arcgis.com/4.14/esri/themes/light/main.css'
      }
      loadModules([
        'esri/Map',
        'esri/views/SceneView'
      ], options).then(([Map, SceneView]) => {
        const map = new Map({
          basemap: 'streets',
          ground: 'world-elevation'
        })
        const view = new SceneView({
          container: 'sceneview',
          map: map,
          scale: 50000000,
          center: [-101.17, 21.78]
        })
        console.log(view)
      })
    }
  },
  mounted() {
    this.createSceneView()
  }
}
</script>

<style scoped>
#sceneview {
  position: absolute;
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  /* overflow: hidden; */
}
</style>
5. 效果如图:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jieyucx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值