Polar MappingApp开发说明文档
前端开发
APP开发
浏览:1220 次

1.编制目的
1.1目的
本文档描述了测绘App的设计思想,以及每个部分开发过程中的注意事项。
1.2读者
前端开发工程师、产品经理、项目经理、Android开发工程师和利益相关者
1.3术语
JS(JavaScript):脚本语言
2.框架设计
图片.png
3.模块设计
3.1登录
出于安全原因,帐户密码只需要验证删除空白后的内容是否为空,然后允许登录请求操作。如果登录失败,将直接显示服务器返回的消息消息,以避免给出特定的规则提示(例如,密码不能少于6位,并且必须包括大写和小写提示)。
3.2主页
显示地图App的主页和新的地图入口。
3.2.1检查版本更新
登录后,将其提交给服务器,以根据软件的VersionCode参数检查软件版本。服务器返回以下结果:

不提示更新(只有在个人中心页面上手动检查更新时才会显示新版本升级对话框)
提示更新(弹出窗口,用户可以取消)
强制更新(弹出窗口,用户取消并直接退出App)
它是最新版本(只有个人中心页面上的手动检查更新显示它是最新版)
3.2.2获取位置许可
因为在Android 6.0之后,所有设备都需要动态获取权限,并且主界面需要动态获取ACCESS_FINE_LOCATION、ACCESS_ COARSE_ LOCATION权限。如果用户选择拒绝权限授予,App将无法正常工作,并将直接退出当前App。下次进入App时,需要再次弹出提示以授予权限。只有在完全授予位置权限后,您才能继续App的后续操作。此功能过程可以在AndPermission API的帮助下完成。
3.2.3主页内容初始化
主页内容初始化过程如下(3.2.2访问位置权限是先决条件):
通过Goddard SDK获取测绘App的准确经纬度信息
将获得的经纬度信息提交给控制服务器,以获得最近基站的信息
将从地图App获取的经纬度信息和基站的经纬信息提交到H5地图页面,并在地图中显示当前位置和基站图标。
3.2.4侧栏显示
图片.png
通过android.support.v4.widget DrawerLayout控件(多种实现方法,仅供参考)。默认的侧滑行为是整个屏幕。因为主页加载H5地图,所以该页面将涉及地图的放大、缩小和翻译等操作。与侧滑响应事件存在冲突,因此需要屏幕处理。弹出事件只能通过左上角的图标完成。
3.3绘图
这是测绘app的核心功能模块,涉及边界、障碍物测绘、地块上传等功能

3.3.1绘图页面设计
图片.png
当前活动布局分为上下两部分。屏幕高度由WebView+布局容器组成,比例为6:4。WebView用于加载地图的H5页面,布局容器加载相应的片段。由于涉及本地内容更新,映射模块的所有功能和菜单切换都使用Fragment完成。
对于WebView加载的H5地图,其所在的活动页面与下面的片段数据交互。RxBinding将用于实时观察数据源的状态,以保存健壮性验证码,同步调整按钮的启用属性,并通过RxJava中的PublishSubject实现多级数据传输。尽管EventBus专门用于处理这项工作,但为了项目的简单性,它是一项原则,即尽量减少项目中重复功能的代码的参与,因此这里省略了它。
3.3.2 H5页面JS交互界面详情:
3.3.2.1 Android与H5的接口
初始化接口
描述
locationBaseStation(字符串纬度,字符串经度)
基站的位置如地图所示#
locationCenter(字符串纬度,字符串经度)
用传入坐标定位地图的中心点#
showArea(字符串jsonPoint)
以以下格式显示边界点和障碍物
switchShowDistance(布尔isShow)
默认情况下,显示边界距离开关处于关闭状态

startSurveyActive(boolea