ATAK代码分析(一):ATAKMapView

概述

坐标系统

• 地图是由多个不同的坐标系统组成的,这些系统允许在地球坐标(地理纬度和经度)与视图中的像素坐标之间进行转换。
• 正向坐标系统栈将纬度和经度转换为像素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、动作,包含暂停、恢复、销毁,前向、后向、更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值