UniAPP 使用高德地图,打包后定位api不执行

最近开发项目遇到了使用地图持续性定位场景,首先会考虑使用百度或者是高德。下边描述下本人在实际开发中遇到的问题。

1、使用百度定位
百度定位真机调试和打包时都很顺畅,没有遇到不能调用或者打包失败的问题。但是,发现在百度地图打包之后偶尔出现坐标系错乱的问题。有的时候打包后显示点位是百度坐标系,有时候打包后显示的是GCJ02坐标系(此问题也许仅在本人使用环境下产生,如您的开发过程中没有复现勿喷!)。因此转而投向高德。

2、使用高德地图
使用高德地图后,真机调试一切顺利,而且感觉定位精度要比百度高(有可能是本人错觉),但是,高德地图打包之后定位api不执行。这个问题困扰了很长时间,也发现网上有很多朋友遇到了与本人类似的问题。开始怀疑是框架bug,后来仔细对比之后发现是配置问题。

主要问题在于申请高德appkey的时候把项目的appid当成了包名。(问题非常小白)

首先我们在申请高德appkey的时候,会用到项目的包名和打包证书的SHA1值。

 

本人之前就是将项目APPID当成了包名(错误实在低级),包名可以在打包界面看到,默认会自动生成包名,也可以自己指定,一般包名指定后就不要更换了,否则与第三方SDK相关的appkey都需要重新申请。

 

 

至于打包证书的SHA1值,需要借助工具查看打包证书获得,查看方法百度上很多,这里就不再赘述了。同时也附上一点地址,方便有需要的人查看:

安卓证书获取sha1的方法 实测有效 原创!!! - 义美-小义 - 博客园
1.首先下载jdk 直接推荐我下载的 当然也可以自己去找 留链接只是为了方便 http://www.ddooo.com/softdown/145559.htm 2.安装jdk 然后配置 环境
https://www.cnblogs.com/shaozhu520/p/13555878.html

填写完包名和SHA1后就可以得到我们需要的appkey了。之后manifest.xml文件配置高德地图,填写key后正常打包就可以。

其实问题很简单,但是排查确不易,首先对自己的代码有信心,然后也相信官方不可能出现这么明显而低级的bug。所以目光就定位到配置上,仔细认真,逐项排查,总能找到问题。

参考地址:https://blog.csdn.net/arsdar/article/details/120341213

posted @ 2023-06-13 16:34  创客未来  阅读(336)  评论(0编辑  收藏  举报