一,sample流程

1,基于World Dark Gray Base REST创建一个切片图层
2, 从 Terrain3D REST 服务创建一个新的高程源
3,创建太平洋西南区域的信封以显示图像框
4,创建一个相机用来拍摄太平洋地区
5,使用深灰色底图和高程源创建场景
6,创建场景视图
7,从内存中获取图片资源加入到集合中
8,将图像框架设置为图像叠加

二,涉及相关API

1,ImageFrame:框架添加到 时ImageOverlay,会在地图或场景的顶部渲染图像。
2,ImageOverlay:一个叠加层,其中包含一个带有要在视图中显示的图像的框架。
目前,此功能仅在SceneView(3D) 中受支持。叠加层可以在任何给定时间仅包含一个图像。但是,可以在SceneView. 可ImageOverlay用于快速渲染频繁变化的图像
设置 TextSymbol 的角度MarkerSymbol.setAngle(float))仅适用于使用 2D 地图,不适用于 3D 场景。
3,SceneView: 继承GeoView并添加了用于场景导航的 3D 特定方法,这些方法通过设置Camera. 例如,setViewpointCamera(Camera))。更多 setViewpointCamera 方法可用,包括可以指定动画持续时间的重载。使用isNavigating)或 NavigationChangedListener)确定导航是否正在进行或已完成。导航完成后,从 获取新相机 getCurrentViewpointCamera())
对比MapView:MapView 继承GeoView并添加了用于地图导航的 2D 特定方法,这些方法通过设置 a 来设置地图的可见区域(当前范围)Viewpoint。例如,setViewpointGeometryAsync)将地图缩放到几何范围,并将 setViewpointCenterAsync)地图缩放到给定比例,以给定点为中心。更多 setViewpoint 方法可用,包括可以指定动画持续时间的重载。如果需要,传递给这些方法的几何图形将自动重新投影。使用 isNavigating)或 NavigationChangedListener)确定导航是否正在进行或已完成。导航完成后,从 获取新视点 getCurrentViewPoint)。
相同点:间接继承自android的ViewGroup;在模型视图控制器(MVC)架构中,用它来表示 MVC 视图,用ArcGISMap来表示 MVC 模型。您可以在布局 XML 中定义 MapView 的大小和布局属性,或以编程方式创建它。无论哪种情况,调用setMap)设置要显示的内容。地图视图将自动加载地图、其底图、业务图层,并在屏幕上显示其内容。
默认情况下,您可以使用一组标准手势(如双击和捏合)平移、缩放和旋转地图;有关更多详细信息,请参阅DefaultMapViewOnTouchListener。您还可以通过创建自己的触摸侦听器类来覆盖标准手势。为此,要么实现MapView.OnTouchListener,要么从 DefaultMapViewOnTouchListener 继承,并将触摸侦听器类的实例传递给 setOnTouchListener).

三,使用流程

  1. 创建一个ImageOverlay并将其添加到SceneView.
  2. 设置一个初始间隔时间为 68 毫秒的计时器,它将ImageFrame每秒显示大约 15 秒。
  3. 连接到来自定时器的超时信号。
  4. 每次超时创建一个新的图像帧并将其设置在图像叠加层上。

    四,离线数据加载

  5. 从ArcGIS Online下载数据。

  6. 打开命令提示符并导航到从步骤 1 中提取数据内容的文件夹。
  7. 将数据推送到示例应用程序的作用域存储中: adb push PacificSouthWest /Android/data/com.esri.arcgisruntime.sample.animateimageswithimageoverlay/files/PacificSouthWest

    五,API掌握

    1,SceneView
    2,ImageFrame
    3,ImageOverlay