首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(2)ArcGIS API for JavaScript之Hello 3D World

阅读本文大概需要 5 分钟。

ArcGIS API for JavaScript 目前有两个大的版本:3.X 和 4.X,其中 3.X 用于开发二维的 WebGIS 应用,4.X 用于开发二三维一体化的 WebGIS 应用。

虽然 Esri 目前都还在维护两个版本,但未来某一天应该会放弃 3.X 版本的,毕竟二三维一体化是趋势。所以,建议直接上手 4.X 版本。

上一篇文章使用 MapView 类,完成了一个简单的二维 WebGIS。本篇文章要开发一个简单的三维 WebGIS,使用的类是 SceneView。

1.新建一个 HTML 文档

使用熟悉的代码编辑器新建一个 HTML 文档,输入以下代码,并保存为 hello_3d_world.html。

2.添加css、js的引用

在 head 标签中加入 ArcGIS API for JavaScript 的 css 和 js 的引用:

3.添加地图显示容器 div

在 body 中增加一个 div 标签,用于显示地图:

4.设置网页、地图视图样式

在 head 标签中,设置网页、地图显示 div 的样式,将地图显示 div 的大小设置为网页的大小, 内外边距都设置为0:

注意,一定要设置 viewDiv 的 width 和 height,否则地图不会显示。

5.加载 API 模块

在 head 中写 js 代码,先加载用到的 API 模块:

6.添加地图

模块加载完成后,在执行的回调函数创建 SceneView, 设置三维地图、三维地图显示容器 div、地图缩放级别,显示范围中心等。

SceneView 的 「container」属性对应着之前我们的地图显示容器 div 的 id。注意,id 前不用加「#」。

「map」 属性是一个 Map 类,其中 basemap 为地图,ground 为要使用的地面,简单理解就是设置地球表面的起伏。

PS:你也可以和前面一篇你文章一样,先新建一个 MapView 并赋值给 map 变量,再将 SceneView 的 map 属性设置为 map 变量。另外还有一种写法,先新建一个不带参数的 SceneView, 之后分别设置其属性,如:

具体使用哪一种风格,完全看你的喜好。不过,项目中一般都会混用,在构造函数中会定义一些已经确定的属性,在后面的代码中可能会根据需要动态调整某些属性。

7.预览

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180712G1WR9700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券