vue2引入arcgis 创建一个3D地图

创建一个vue2项目

npm create vuejsapidemo
----
之后选择 default Vue2

进入项目

cd vuejsapidemo

安装 esri-loader --save-dev

npm install esri-loader --save-dev

启动项目:

npm run serve

查看引用:

Arcgis的API文档:

网址:https://developers.arcgis.com/javascript/latest/sample-code/intro-sceneview/

修改App.vue

<template>
  <div id="sceneview">

  </div>
</template>

<script>
import {loadModules} from 'esri-loader'
export default {
  name: 'App',
  components: {

  },
  methods:{
    //创建三维场景
    _createSceneView:function(){
      let options={
        url:'https://js.arcgis.com/4.29/',
        css:'https://js.arcgis.com/4.29/esri/themes/light/main.css'
      };
      loadModules([ "esri/Map", "esri/views/SceneView"],options).then(([Map,SceneView])=>{

        let map = new Map({
          basemap: "streets",
          ground: "world-elevation"
        });
        let view = new SceneView({
          container: "sceneview", // Reference to the DOM node that will contain the view
          map: map // References the map object created in step 3
        });
        console.log(view)


      })

    }
  },
  mounted:function(){
    this._createSceneView()
  }
}
</script>

<style>
#sceneview {
  position:absolute;
  width: 100%;
  height: 100%;
}
</style>

最终展示:

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2中使用Three.js创建地图可以按照以下步骤进行: 1. 首先,确保你已经安装了Vue CLI并创建了一个Vue项目。如果没有安装,请按照Vue CLI的官方文档进行安装和创建项目。 2. 安装Three.js库。可以通过以下命令使用npm进行安装: ```bash npm install three ``` 3. 在Vue组件中引入Three.js库。在你需要使用Three.js的组件中,可以通过以下方式引入: ```javascript import * as THREE from 'three'; ``` 4. 创建一个Canvas元素用于渲染Three.js场景。在你的Vue组件的模板中,添加一个Canvas元素,例如: ```html <template> <div> <canvas ref="canvas"></canvas> </div> </template> ``` 5. 在Vue组件的生命周期钩子函数中创建Three.js场景并渲染。在你的Vue组件中,可以在`mounted`钩子函数中创建Three.js场景,并在其中进行渲染。例如: ```javascript export default { mounted() { // 获取canvas元素 const canvas = this.$refs.canvas; // 创建场景 const scene = new THREE.Scene(); // 创建相机 const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); camera.position.z = 5; // 创建渲染器 const renderer = new THREE.WebGLRenderer({ canvas }); renderer.setSize(window.innerWidth, window.innerHeight); // 创建地图 const geometry = new THREE.BoxGeometry(1, 1, 1); const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 }); const cube = new THREE.Mesh(geometry, material); scene.add(cube); // 渲染场景 function animate() { requestAnimationFrame(animate); cube.rotation.x += 0.01; cube.rotation.y += 0.01; renderer.render(scene, camera); } animate(); }, }; ``` 以上代码创建了一个简单的场景,其中添加了一个绿色的立方体,并通过动画使其旋转起来。 这只是一个简单示例,你可以根据自己的需求在Three.js中创建更复杂的地图。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值