在开始介绍高德定位和路线规划组件的使用前,需要大家先了解2个概念:“应用包名”和“签名密钥”。
“应用包名”是应用的唯一标识,安卓系统识别应用的依据。应用包名以“.”(英文句号)为分隔符,至少2段,也就是包名中需要有1个或多个点。每段必须以字母开头,可以包含字母、数字和下划线。每一段都不能是java的关键字,合法的包名例如:wxbit.project1、wxbit.my.project1、wxbit.my_project_1。应用包名在屏幕Screen1的项目属性中设置:
注:安卓系统中实际有应用ID(Application ID)和应用包名(Package Name),应用ID才是应用的标识。不过在WxBit中,应用ID和应用包名相同,大家可以把应用包名等同为应用ID。
“签名密钥”是对应用(APK文件)进行数字签名的证书,安卓系统要求每个APK文件必须经过数字签名才能安装。使用相同证书签名的应用,系统会认为来自相同的开发者,可以对应用升级、模块化和共享代码和数据。技术介绍参见:https://developer.android.com/studio/publish/app-signing
注:首次登录WxBit的用户是没有密钥文件的,如果用户没有上传密钥文件,系统会在第一次打包时自动生成。密钥文件的别名是AndroidKey,密码是android。如果在其他地方生成密钥文件,需要使用这个别名和密码,才能上传到WxBit中使用。
在“项目”菜单中,有个“查看密钥签名”的菜单,这里显示的是“签名密钥”的MD5和SHA1数字指纹,在申请高德定位的API KEY时,需要用到。
注意:高德地图、高德定位和路线规划组件,使用的是高德开放平台的服务,非商用目的才能免费使用,商业用途必须经过高德公司授权。使用协议参见:https://lbs.amap.com/pages/terms/
在WxBit助手中调试高德定位组件,使用内置的测试API KEY,留空或填写不正确都是可以正常定位的。但是打包成APK之后定位就会出错,用户必须自行注册高德开放平台(https://lbs.amap.com)的帐号,创建应用后添加API KEY。
“发布版安全码SHA1”就是应用签名密钥的SHA1指纹,“PackageName”则是一开始介绍的应用包名。
将高德开发平台中添加的Key填到高德定位组件的API Key属性,打包的应用就可以定位了。如果定位失败,请参考高德定位的错误码对照表解决:https://lbs.amap.com/api/android-location-sdk/guide/utilities/errorcode
将高德定位组件的“是否启用”设置为“真”,在获得定位、或者定位变更时,触发“位置被更改”事件。定位后可以使用组件的方法块,获得位置的更多信息。
注意:“路线规划”组件使用Web服务的Key,不需要填写包名和安全码。
设置起点和终点的经纬度,如果与高德地图搭配使用,起点和终点可以是地图上的某个物体(标记、圆形、多边形等),然后调用“规划路线”方法,获得响应后触发“获得规划方案”事件。使用“输出调试信息”块查看得到的JSON列表数据。数据格式详见高德的文档:https://lbs.amap.com/api/webservice/guide/api/direction
JSON的解析方法参见:App Inventor 进阶:“列表”与“字典”
常见错误:
1、错误7: KEY错误 请到 http://lbsemap.com/api/android-location-sdkvguidecealities/ errorcode/ 查看错误码说明,错误详细信息auth fail:INVALID. USER SCODE#SHA1AndPaokage#……
应用包名和证书SHA1签名不一致,请参考上述教程修正。
原文链接:高德定位与路线规划组件的使用说明,转载请注明来源!