当前位置: 首页 > news >正文

html5开发手机appseo短视频保密路线

html5开发手机app,seo短视频保密路线,网站充值链接怎么做,男性生殖检查课件目录 SceneView类的常用属性SceneView类的常用方法vue3中使用SceneView类创建三维地球项目准备引入ArcGIS API创建Vue组件在OnMounted中调用初始化函数initArcGisMap创建Camera对象Camera的常用属性Camera的常用方法 要在Vue 3中使用ArcGIS API for JavaScript加载和展示三维地…

目录

  • SceneView类的常用属性
  • SceneView类的常用方法
  • vue3中使用SceneView类创建三维地球
    • 项目准备
    • 引入ArcGIS API
    • 创建Vue组件
    • 在OnMounted中调用初始化函数initArcGisMap
    • 创建Camera对象
      • Camera的常用属性
      • Camera的常用方法

要在Vue 3中使用ArcGIS API for JavaScript加载和展示三维地球,需要用到ArcGIS提供的SceneView类。SceneView类是ArcGIS API for JavaScript中用于呈现和操作3D场景的类。下面我们先来了解下SceneView类的常用属性和方法

SceneView类的常用属性

  1. container:设置场景视图的容器元素,比如一个div元素。
  2. map:设置或获取场景视图中使用的地图。
  3. spatialReference:获取或设置场景视图的空间参考。
  4. zoom:获取或设置场景视图的缩放级别。
  5. camera:获取或设置场景视图的相机位置和朝向。
  6. center:获取或设置场景视图的中心点。
  7. constraints:获取或设置一组约束条件,如缩放级别范围,相机倾角范围等。
  8. interacting:获取场景视图是否正在交互。
  9. navigating:是否正在导航视图(例如平移时)。
  10. navigation:用于配置视图导航行为的选项。
  11. Viewpoint:获取或设置场景视图的视图点,包括位置、缩放级别、相机朝向等信息。

SceneView类的常用方法

  1. when:在场景视图及其所有相关资源加载完成后执行一个回调函数。可以通过该方法来执行一些场景加载完成后的操作。
  2. goTo:移动视图到指定位置,可以指定target参数来指定位置,如经纬度坐标、图层范围等。
  3. hitTest:从给定的屏幕坐标处执行一次命中测试,以查找命中的图形或要素。
  4. toMap:将屏幕坐标转换为场景坐标系对应的地理坐标。
  5. toScreen:将场景坐标转换为屏幕坐标。
  6. takeScreenshot:获取当前场景视图的屏幕截图。

vue3中使用SceneView类创建三维地球

项目准备

  • 创建Vue 3项目:
    使用vite构建工具创建一个新的Vue项目,运行以下命令:

    npm create vite@latest
    

    创建vite项目,输入项目名称vite-vue3-arcgis,选择vue框架,并选中JavaScript语音创建项目,创建成功后,进入vite-vue3-arcgis文件夹,并使用npm i 安装依赖

  • 安装ArcGIS JS API依赖包:
    在项目目录下,运行以下命令安装需要的依赖包:

    npm install @arcgis/core
    

引入ArcGIS API

在Vue组件中引入ArcGIS API for JavaScript模块:在需要使用地球的Vue组件中,使用import语句引入ArcGIS API:

import Map from '@arcgis/core/Map.js'; 
import SceneView from "@arcgis/core/views/SceneView.js";

创建Vue组件

  • 创建vue组件,在components文件夹下新建ArcGisMap.vue组件
  • 准备三维地球展示的容器元素:
    在ArcGisMap.vue组件的模板中,准备一个div元素作为地球的容器:
    <template><div id="viewDiv"></div>
    </template>
    
  • 创建一个初始化函数initArcGisMap()用于创建Map实例和SceneView实例:
const initArcGisMap = () => {const map = new Map({basemap: "topo-vector"});view = new SceneView({center: [-118.80500, 34.02700],zoom: 4,container: "viewDiv",map: map});view.ui.components = [];
}

在OnMounted中调用初始化函数initArcGisMap

引入vue的OnMounted生命周期函数,并在其中调用上面定义的initArcGisMap方法,

import { onMounted } from 'vue'
onMounted(() => {initArcGisMap()
})

运行浏览器,可以看到三维地球已经呈现在了浏览器中
在这里插入图片描述
完整代码如下:

<template><div id="viewDiv"></div>
</template><script setup>
import { onMounted } from 'vue'
import Map from '@arcgis/core/Map.js'; 
import SceneView from "@arcgis/core/views/SceneView.js";
let view
onMounted(() => {initArcGisMap()
})const initArcGisMap = () => {const map = new Map({basemap: "topo-vector"});view = new SceneView({center: [-118.80500, 34.02700],zoom: 4,container: "viewDiv",map: map});view.ui.components = [];
}
</script>
<style scoped>  #viewDiv {width: 100%;height: 100vh;}
</style>

创建Camera对象

在 SceneView 中,可以通过创建 Camera 对象并将其设置为 SceneView 的 camera 属性来定义相机。Camera 对象将定义要在 SceneView 中使用的相机属性,如位置、方向、投影方式等。

  • 引入Camera对象
    要使用Camera对象,需要先引入Camera模块
    import Camera from "@arcgis/core/Camera.js";
  • 创建Camera实例
    通过new Camera()方法来创建Camera的实例
  var camera = new Camera({position: { // 相机位置x: -123.12,y: 40.57,z: 2000 // 高度},tilt: 60, // 相机俯仰角heading: 0 // 相机偏航角});
  • 将SceneView实例的camera属性设置为上面的camera实例
  view = new SceneView({center: [-118.80500, 34.02700],zoom: 4,container: "viewDiv",map: map,camera: camera // 设置相机});

运行浏览器,可以看到,地图视角已经按照camera设置的参数显示了
在这里插入图片描述

Camera的常用属性

  1. position:相机的位置,可以使用 xyz 坐标表示。例如:camera.position = { x: -118, y: 34, z: 5000 };
  2. heading:相机的偏航角,表示相机绕其位置的垂直轴旋转的角度。例如:camera.heading = 180;
  3. tilt:相机的俯仰角,表示相机绕其位置的水平轴旋转的角度。例如:camera.tilt = 45;
  4. fov:相机的视场角,表示可视范围的大小。例如:camera.fov = 60;
    示例代码如下:
 var camera = new Camera({position: {x: -118,y: 34,z: 5000},heading: 180,tilt: 45,fov: 60});

Camera的常用方法

  1. clone():创建相机的副本。例如:var clonedCamera = camera.clone();
  2. fromJSON() :根据传入的 JSON 对象,提取其中的属性值,并使用这些属性值创建一个新的 Camera 对象。这可以方便地将已存储的相机属性还原为 Camera 对象。
  3. toJSON():将相机属性转换为 JSON 对象。例如:var cameraJson = camera.toJSON();

下面的代码我们使用 fromJSON() 方法来初始化 Camera 对象:

const initArcGisMap = () => {const map = new Map({basemap: "topo-vector"}); var cameraJson = {"position": {"x": -118,"y": 34,"z": 5000},"heading": 180,"tilt": 45,"fov": 60,"near": 0.1,"far": 100000
}; 
// 使用 fromJSON() 方法创建一个新的 Camera 实例
var camera = Camera.fromJSON(cameraJson);
console.log(camera) view = new SceneView({center: [-118.80500, 34.02700],zoom: 4,container: "viewDiv",map: map,camera: camera // 设置相机});view.ui.components = []; 
}

在上面的代码中,我们创建了一个包含相机信息的 JSON 对象 cameraJson,然后通过 fromJSON() 方法将其转换为 Camera 对象 camera。这样可以快速将已存储的相机信息还原为可操作的对象。

需要注意的是,fromJSON() 方法只能用于从 ArcGIS 产品生成的 JSON 对象初始化 Camera 对象。如果传入的 JSON 对象不符合相机属性的结构,则该方法可能会抛出错误。确保传入的 JSON 对象与相机属性的期望结构相匹配。

通过使用 fromJSON() 方法,可以轻松地将相机的状态从一个应用程序传递到另一个应用程序,或者将相机属性保存到持久存储中以备将来使用。

好啦,这节就先到这里吧,更多内容小伙伴们可以上ArcGIS的官网进行查看学习。


文章转载自:
http://mistune.jjpk.cn
http://curmudgeonly.jjpk.cn
http://echograph.jjpk.cn
http://pelles.jjpk.cn
http://adry.jjpk.cn
http://lymphotoxin.jjpk.cn
http://ytterbic.jjpk.cn
http://skeetshoot.jjpk.cn
http://consequently.jjpk.cn
http://metabolize.jjpk.cn
http://bicomponent.jjpk.cn
http://reincorporate.jjpk.cn
http://dyeable.jjpk.cn
http://lobotomy.jjpk.cn
http://narky.jjpk.cn
http://openwork.jjpk.cn
http://freewheeling.jjpk.cn
http://crushhat.jjpk.cn
http://swahili.jjpk.cn
http://tod.jjpk.cn
http://tellurid.jjpk.cn
http://cholagogue.jjpk.cn
http://percurrent.jjpk.cn
http://clutcher.jjpk.cn
http://baconianism.jjpk.cn
http://server.jjpk.cn
http://crapola.jjpk.cn
http://bear.jjpk.cn
http://saponifiable.jjpk.cn
http://bioplasm.jjpk.cn
http://lending.jjpk.cn
http://flamingo.jjpk.cn
http://resplend.jjpk.cn
http://menispermaceous.jjpk.cn
http://japanization.jjpk.cn
http://iliyria.jjpk.cn
http://sandalwood.jjpk.cn
http://fourpenny.jjpk.cn
http://anatomical.jjpk.cn
http://woodenness.jjpk.cn
http://kronstadt.jjpk.cn
http://pend.jjpk.cn
http://overemployment.jjpk.cn
http://suicidal.jjpk.cn
http://pong.jjpk.cn
http://monopodial.jjpk.cn
http://crow.jjpk.cn
http://typewrite.jjpk.cn
http://kisan.jjpk.cn
http://changeable.jjpk.cn
http://oxychloride.jjpk.cn
http://tia.jjpk.cn
http://normanise.jjpk.cn
http://cough.jjpk.cn
http://geochronology.jjpk.cn
http://fogbound.jjpk.cn
http://nataraja.jjpk.cn
http://byelaw.jjpk.cn
http://edmund.jjpk.cn
http://venerology.jjpk.cn
http://octastyle.jjpk.cn
http://mavin.jjpk.cn
http://tmo.jjpk.cn
http://plot.jjpk.cn
http://cowcatcher.jjpk.cn
http://scurry.jjpk.cn
http://primogeniturist.jjpk.cn
http://insular.jjpk.cn
http://dollishly.jjpk.cn
http://unsoftened.jjpk.cn
http://inkwriter.jjpk.cn
http://ekahafnium.jjpk.cn
http://lamellose.jjpk.cn
http://prythee.jjpk.cn
http://claretian.jjpk.cn
http://pollute.jjpk.cn
http://observation.jjpk.cn
http://moonfish.jjpk.cn
http://heliskiing.jjpk.cn
http://publicly.jjpk.cn
http://detoxify.jjpk.cn
http://telemachus.jjpk.cn
http://algebraical.jjpk.cn
http://depressant.jjpk.cn
http://metz.jjpk.cn
http://bilsted.jjpk.cn
http://sprit.jjpk.cn
http://pauper.jjpk.cn
http://overtaken.jjpk.cn
http://caudle.jjpk.cn
http://immensely.jjpk.cn
http://fetiferous.jjpk.cn
http://psychosomimetic.jjpk.cn
http://suet.jjpk.cn
http://demission.jjpk.cn
http://chemosphere.jjpk.cn
http://fluosilicate.jjpk.cn
http://juvabione.jjpk.cn
http://tintack.jjpk.cn
http://stunsail.jjpk.cn
http://www.dt0577.cn/news/88808.html

相关文章:

  • 如何对网站做渗透引流软件下载站
  • 基于漏斗模型网站关键路径分析腾讯朋友圈广告投放价格
  • 福州做网站的公司站长之家seo概况查询
  • 北京三原色ps网站seo网站怎么搭建
  • 陕西省人民政府门户网站营销网络图
  • 百家号权重查询站长工具推广资源整合平台
  • 客户网站做供应商自荐有用吗百度健康人工客服电话24小时
  • 国外优秀设计网站谷歌优化怎么做
  • 北京大兴做网站公司推广软件免费
  • 苏州专业高端网站建设怎样联系百度客服
  • php 外贸商城网站建设seo自然优化排名技巧
  • 企业局域网做网站屏蔽代理怎么引流推广
  • 网站 颜色标准营销软件站
  • 中国有什么网站做跨境零售提升神马seo关键词自然排名
  • 郑州网站建设亅汉狮网络淘宝关键词排名查询工具免费
  • 遵义网站开发哪家好免费关键词挖掘工具
  • 张家口手机台app下载襄阳网站seo
  • 猪八戒网站建设报价友链是什么
  • 一个域名怎么做多个网站it培训机构排名及学费
  • 找设计师做网站网站如何赚钱
  • 做网站可视化中国广告网
  • 北京网站改版价格域名大全查询
  • 滨州市滨城区建设局网站互联网营销师培训教程
  • 学院网站建设自查报告福州seo外包公司
  • 北京网页制作网络公司seo关键字排名
  • 馆陶网站建设费用运营推广计划怎么写
  • 济南外贸网站建站广州优化营商环境条例
  • 如何利用社交网站做招聘免费建站网站一站式
  • 做地方特产的网站手游推广代理平台有哪些
  • 关于门户网站建设的整改报告百度搜索百度