概述
坐标系统
• 地图是由多个不同的坐标系统组成的,这些系统允许在地球坐标(地理纬度和经度)与视图中的像素坐标之间进行转换。
• 正向坐标系统栈将纬度和经度转换为像素x, y;而逆向坐标栈则执行相反的操作,将像素x, y转换回纬度和经度。
• 对于使用OpenGL进行渲染的开发者,GLMapView类提供了自己的正向和逆向方法,用于在OpenGL场景坐标和纬度、经度之间转换点。
• 地图的比例尺基于设备屏幕上像素的实际大小。比例尺为1.0d时,意味着地图上测量的一英寸等于物理屏幕上的真实一英寸。这个值是名义上的,并不考虑基于投影的局部比例因子。
• 地图分辨率是指每像素代表的实际距离(以米为单位)。例如,分辨率为10表示5个像素长度的线在实际中大约等于50米。
Map Life-Cycle
• 建议将Activity的回调与AtakMapView的方法调用相结合。
o 当Activity暂停时,应调用AtakMapView.pause()。
o 当Activity恢复时,应调用AtakMapView.resume()。
o 当Activity被销毁时,应调用AtakMapView.destroy()来释放所有关联的资源。
Map Layers
• 支持添加、移除和排序地图层。该层框架完全可插拔,用户可以在编译时或运行时无缝集成他们自己的自定义层。
• 关于可插拔框架的描述可以在接口Layer的文档中找到。
请注意,在使用AtakMapView时,确保正确管理其生命周期,以避免潜在的问题。此外,对于需要高精度的应用来说,应该注意到提供的比例尺和分辨率值是名义上的,可能不适合精确测量。
方法
1、基本属性操作,包含获取类成员、经纬度范围、UI配置、缩放因子、分辨率、高程缩放因子、文字格式、DPI、边界、角落、显示选项等。
2、监听器操作,涵盖MapViewResize, ActionBarToggle, MapMove, DisplayFlagsChange, LayersChange, MapProjectionChange, ContinuousScrollEnabledChange, ElevationExaggerationFactorChange事件。
3、动作,包含暂停、恢复、销毁,前向、后向、更新。