APP下载

AppInventor开发导航应用

2021-06-28王德贵王薇

电脑报 2021年9期
关键词:经纬度高德步行

王德贵 王薇

本期我们在AppInventor中利用高德地图组件开发一款导航应用——宝贝你在哪,它可以查找停在附近停车场的爱车。停车时打开该应用定位,记录位置后可关闭应用,需要找车时再次打开应用,就可以查看车的位置,并规划当前位置到车辆之间的路径,之后开始步行导航。

本应用在WxBit汉化版(app.wxbit.com)中开发,它的组件比较多,应用安装时不会出现新旧手机的兼容问题。如果使用其他开发环境,需要安装相应的插件。

代码较复杂,请先在文末扫码下载源代码,对照学习。

一、组件设计

1.应用效果图

应用效果如图,根据组件列表完成界面制作,组件属性的颜色、位置等参数可自行微调,由于组件较多注意为组件重命名增加程序可读性(图1)。

2. 组件设计

各组件作用和属性如列表,注意,地图类型有3种,通过下拉框选择(如下表)。

二、程序设计

程序设计过程中,最好是边写代码,边测试,随时发现问题,随时解决。如果最后一起测试,就不容易找到哪段代码有问题了。

1.申请APIKey

路径规划的APIKey需要去高德开放平台申请后填入。

注册高德开放平台→开发者认证→控制台→新建应用→添加→自行输入Key名称→选Web服务(只需申请Web服务Key,其他不需要)→提交。之前我在测试的时候,按照路径规划的说明文档,做了很多无用功。这个Key是获取路径规划方案的钥匙,也是身份证明。

2.显示当前经纬度和海拔

当开启APP时或位置改变时,高德定位组件自动定位当前经度、纬度和海拔,并显示在标签上。APP开启后,可以通过按钮显示到高德地图上(图2、图3)。

3.记录宝贝位置

在车附近10秒钟以上更新经纬度数据,记录位置,否则车的位置会有偏差。把数据保存在本地数据库,按标签保存数据,以便以后打开APP时调用(图4)。

4.显示宝贝位置

当需要查看车的位置时,点击按钮,就可以从本地数据库中调取保存的宝贝位置信息,通过标签显示出来,同时高德地图也做相应的标记,以方便查看(图5)。

5. 点击标记放大地图

点击宝贝位置标记(粉色)或点击当前位置标记(红色),都会放大地图,缩放级别为1-18,与高德地图属性的缩放级别有关,用两个手指也可以放大缩小地图(图6)。

6. 地图类型

地图类型有3种,平面图、卫星图、混合图,用下拉列表框选择(图7)。

7. 显示路径规划

给出从当前位置到车的位置之间的步行分段方案。这个方案,是路徑规划方案,也可以用HTTP请求,获取方案信息,经过处理后,效果相同。如果出错,给出提示,方便调试。点击文字执行清除提示(图8)。

8. 变量和过程

创建多个全局变量“总距离、总时间、步行步骤总数目、步行线段数目、距离2、时间2”,初始值均为0。

创建多个全局变量“步行步骤总方案、步行指示、步行线段、坐标点字符串”并赋值为空文本。

定义4个函数,两个用来分离经纬度,将获取的经纬度数据交换位置,以适应路径规划的应用(图9)。

两个用来控制路径线条,线条数目本例只有2条。你可以继续添加,还可以利用动态组件控制线条数目,大家可以尝试一下(图10)。

9.路径规划获取方案

这个路径规划方案,是利用列表数据处理的,如何查看和分析列表,请参考往期的JSON数据应用。也可以将JSON数据转换为字典处理,结果相同(图11、圖12)。

10. 开始导航

显示行走路线的线条。实际路径规划有多个区段,每个区段又有很多线段构成,可以利用遍历的方法一一连接,本文只说明原理,不做详述(图13)。

11.初始化

初始化是打该应用时,将事先保存的数据加载到内存,以便处理。延时2秒(2000ms)给提取本地数据库信息留够时间。如果本地数据库没有保存的数据,则显示0.0(图14、图15)。

三、调试、打包与发布

1.调试

手机安装AI伴侣,在连接中扫码,找一位置模拟车位,停留10秒钟以上,然后点击“记录宝贝位置”,然后到另一个位置,高德地图会显示当前位置信息。可以点击“显示宝贝位置”来查看车的位置,也可以点击“显示当前位置”来查看当前位置信息。“查看路径规划”用来显示路径规划信息,点击文字,隐藏。“开始导航”必须查看路径规划后,才显示行进路径线条,本例只显示2条。其实,在每个线条里,还会有多个线段。多路段情况,有兴趣的朋友可以深入研究探讨(图16)。

2.打包

把程序生成为APK文件,脱离开发环境,以备在其他手机上安装。由于高德地图是会员组件需要成为会员才能打包,但不影响之前的编辑和调试。应当注意的是,这个APK文件在电脑和手机里都会误报病毒,杀毒时会清除掉,如想保存,建议打包压缩后,留存。

3. 上架

谁都希望自己的应用能放在应用市场上供大家下载安装。

先完成误报病毒申诉。到腾讯手机管家(m.qq.com/complaint)上申请误报病毒,按要求填写提交。申诉成功后,即可发布应用了。

发布申请。在阿里应用分发平台(aliapp.open.uc.cn)根据提示进行分发。

以上实例只是导航路径规划的简单应用,如果想开发更完善的路径规划,还要了解多路段情况,这里不再赘述。

程序比较复杂,您可以在壹零社下载程序源代码并对照视频学习。

猜你喜欢

经纬度高德步行
魔方小区
等车望眼欲穿高德新出的实时公交APP
基于经纬度范围的多点任务打包算法
活地图
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
高德地图车机版正式发布
圣人的告诫