ArcGIS for Android Runtime100 基本操作(七)——三维地图初步使用
来源:互联网 发布:什么叫淘宝旺铺智能版 编辑:程序博客网 时间:2024/06/14 07:52
今年7月份,ArcGIS Runtime100总算推出第一个它的第一个资料片,哦不,更新版,ArcGIS Runtime100.1,也被称为Update 1。这个版本更新了一些API,填补了Runtime10.2和100之间的差距,修复了一些BUG以及新增几个功能。而新增功能里最让我们关注的就是Android SDK里也支持3D地图了。具体内容可以参见官网:https://developers.arcgis.com/android/latest/guide/release-notes.htm
接下来,我们来初步探索下这个三维地图吧。
首先,我们知道比如10.2来,Runtime100是用了一个GeoView类作为地图的基类直接继承于ViewGroup,然后MapView和SceneView分别作为二维和三维地图的容器继承于GeoView。对于SceneView,其关系为:
然后同二维地图一样,三维地图的加载里采用了MVC架构,用SceneView类作为model,ArcGISScene类作为View。在三维地图里可以通过设置一个Camera类来控制自己的视角:
从这点来说,其实把SceneView当做MapView,把ArcGISScene当做ArcGISMap就行,于是我们简单尝试下。首先是在XML文件里添加SceneView:
<com.esri.arcgisruntime.mapping.view.SceneView android:id="@+id/sceneview" android:layout_width="match_parent" android:layout_height="match_parent"></com.esri.arcgisruntime.mapping.view.SceneView>
然后是在对应View里:
sceneView = (SceneView) view.findViewById(R.id.sceneview);arcGISScene = new ArcGISScene();sceneView.setScene(arcGISScene);
运行下,看看效果:
可以看出其实SceneView的基本底图就是一个地球,然后我们给它设置个瓦片图层作为底图:
ArcGISTiledLayer arcGISTiledLayer = new ArcGISTiledLayer( "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer");Basemap basemap=new Basemap(arcGISTiledLayer);arcGISScene.setBasemap(basemap);
数据源于官网发布的服务,详情可以去http://www.arcgis.com/home/gallery.html#c=esri&t=maps&o=modified&f=scenes看看。
效果图:
可以看出这其实就是把一个切片图层展示在地球上,可以进行三维操作而已。
而对于真正的三维数据的地图层,官方给的例子是:
可以看出基本思想是用ArcGISSceneLayer作为三维地图的图层,然而我按照这个例子运行后并没看到三维地图,包括使用官方中的一些三维地图服务,比如https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer。最后都没成功,但是在PC端确实能看到很好的效果。
不知道有小伙伴成功过么?
- ArcGIS for Android Runtime100 基本操作(七)——三维地图初步使用
- ArcGIS for Android Runtime100 基本操作(二)——地图控件的常见操作
- ArcGIS for Android Runtime100 基本操作(六)——移动地图包MMPK的使用
- ArcGIS for Android Runtime100 基本操作(一)——图层加载和切换
- ArcGIS for Android Runtime100 基本操作(三)——离线数据空间查询
- ArcGIS for Android Runtime100 基本操作(四)——GPS定位
- ArcGIS for Android Runtime100 基本操作(五)——绘制图层和符号渲染
- ArcGIS for Android Runtime100 基本操作(一)——点线面测距离长度和面积
- ArcGIS Android Runtime100.1.0
- ArcGIS for Android —— 显示地图
- ArcGIS for Android地图控件常见操作
- ArcGIS API for javascript开发笔记(七)——使用ArcGIS API for javascript调用GP服务
- ArcGIS for Android地图控件的5大常见操作
- ArcGIS for Android地图控件的5大常见操作
- ArcGIS for Android 地图控件 mapview 的常见操作
- 《ArcGIS Runtime SDK for Android开发笔记》——(2)、Android Studio基本配置与使用
- ArcGIS for Android 之Query的初步使用
- ArcGIS for Android 之IdentifyTask初步认识和使用
- linux 串口编程详解
- java读取配置文件Properties
- 云计算3A竞赛开跑,投资者"看涨"阿里云
- maven笔记
- vue中data定义
- ArcGIS for Android Runtime100 基本操作(七)——三维地图初步使用
- 9、C#里面的关系表达式、逻辑表达式
- python抓取几大票房统计系统数据的之艺恩电影数据
- 生成灰阶测试图
- 不能继承的类
- windows下 webrtc的获得源码和编译
- C/C++ 枚举
- Qt debug模式和release模式的区别
- cocos2d-x3.10 使用tinyxml2在Android配合FileUtilsAndroid解析XML文件