项目中需要定位功能,一开始使用了cordova-plugin-geolocation插件,但是报错了而且这个插件返回的是经纬度,没有街道信息,想要街道信息的话需要通过其他的API来转换。

然后又找了找,发现了百度的SDK

所用插件:cordova-plugin-baidumaplocation

上百度sdk申请android和ios(必须)的AK

图1.百度sdk申请

包名在android目录下的AndroidManifest.xml文件中(package)

图2.ionic3项目目录

图3.包名位置

发布版的sha1获取:

需要jdk的keytool工具,路径配置在环境变量的path后用逗号隔开,就可以在全局的cmd中用了

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

图4.控制台显示

执行上述命令后,会在项目目录下生成一个my-release-key.keystore文件

再执行 keytool -list -v -keystore my-release-key.keystore 输入口令后会打印出

图5.控制台显示

这里的sha1,就是发布版的sha1。到这android的ak就配置完了,ios的随便整一个。

插件下载:

Ionic cordova plugin add cordova-plugin-baidumaplocation --variable ANDROID_KEY="***" --variable IOS_KEY="***"

然后打包:

ionic cordova build android --release

然后签名:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore

F:/code/ionic_bd/platforms/android/build/outputs/apk/release/android-release-unsigned.apk

alias_name

图6.输入签名命令后控制台显示

因为我不会取开发版的sha1所以只有签名后的apk才能正常定位

核心代码:

在顶端声明:declare const baidumap_location: any;

if (typeof baidumap_location === “undefined”)

{

alert(“baidumap_location is undefined”);

return;

};

baidumap_location.getCurrentPosition(function

(result) {

alert(JSON.stringify(result, null, 4));

}, function (error) {

alert(error);

});

只在手机上好用,在浏览器会报undefined

提示:

中间遇到的坑

Android版本@7.0.0 插件版本@4.0.1

定位5e-324,返回的对象会报错,如下:

NetWork location failed because baidu

location service can not decrypt the request query, please check the so file !(原因不知道)

Android版本@6.4.0 插件版本@4.0.1

baidumap_location.getCurrentPosition()方法啥都没有,原因也不知道。

虽然原因不知道(听说是版本问题),但是有解决办法,什么办法呢?

就是降版本

Android版本@6.4.0 插件版本@3.2.0

一切正常

ionic 定位 android,ionic3定位 (android)相关推荐

  1. Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK

    原文:Android学习-- 基于位置的服务 LBS(基于百度地图Android SDK)--定位SDK 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  2. Android App定位和规避内存泄露方法研究

    from:http://site.douban.com/android/widget/notes/350758/note/167481484/ 工作中刚好用到,网上搜到的,觉得不错,与大家分享 And ...

  3. Android定位开发之百度定位、高德定位、腾讯定位,三足鼎立一起为我所用!

    这几天的项目不是非常紧.于是想为未来可能要做的项目做一些技术储备. 下一个项目非常有可能是定位开发,须要用到手机定位功能,于是查了查如今比較流行的第三方定位,最火的基本上就是百度定位>高德定位& ...

  4. android 定位服务 耗电吗,关于Android的定位服务

    今天因为工作须要,把以前编写的一个GPS测试法度榜样拿出来从新修改了一下.这个法度榜样说起来竽暌剐些汗青了,是我11年编写的,那时刻学了Android开辟没多久,算是一个实验性的作品.如今工作须要,从 ...

  5. eclipse开发android手机定位

    一.eclipse开发环境搭建 1.  JDK安装和部署 1)  JDK下载 地址:http://www.oracle.com/technetwork/java/javase/downloads/in ...

  6. Android基站定位

    Android基站定位   一.通过手机信号获取基站信息 通过TelephonyManager 获取lac:mcc:mnc:cell-id(基站信息)的解释: MCC,Mobile Country C ...

  7. Android悬浮按钮锚点位置,Android 滑动定位+吸附悬停效果实现

    在前两篇文章中,分别介绍了tablayout+scrollview 和 tablayout+recyclerview 实现的滑动定位的功能,文章链接: Android 实现锚点定位 Android t ...

  8. android实现3种定位的切换,Android 滑动定位+吸附悬停效果实现

    在前两篇文章中,分别介绍了tablayout+scrollview 和 tablayout+recyclerview 实现的滑动定位的功能,文章链接: Android 实现锚点定位 Android t ...

  9. 定位系统服务器,android系统定位服务器地址

    android系统定位服务器地址 内容精选 换一换 将NFS文件系统挂载到Windows IIS服务器时,报错路径格式不支持,挂载失败.IIS Web服务器的物理路径错误.根据可能原因进行故障排查.如 ...

最新文章

  1. 【J2SE】java概述
  2. python视频教程从入门到精通全集-python从入门到精通视频(全60集)免费高速下载...
  3. label 标签里面元素点击事件
  4. 就业阶段-java语言进价_day04
  5. 初窥Spring中的注释
  6. C#项目实例中读取并修改App.config文件
  7. 基于matlab的车牌识别
  8. vb从入门到精通_干货|让你 ArcGIS Engine从入门到精通的22个视频
  9. 协同过滤推荐算法总结(转载)
  10. 微软联合创始人,花花公子保罗·艾伦的传奇一生
  11. Windows 免密码登录
  12. Kmplayer音频设置
  13. vue 移动端剪裁
  14. 2018秦皇岛ccpc赛后总结
  15. 一篇最通俗易懂的https
  16. linux下python升级版本
  17. C语言经典问题10-计算a+aa+aaa+...的值
  18. 挑战杯课外学术参赛作品—AI合约问卷调查系统
  19. 永磁同步电机矢量控制(三)——电流环转速环 PI 参数整定
  20. java屏蔽游戏中骂人的话,替换为*,屏蔽敏感词汇

热门文章

  1. 盛大 牛人 blog
  2. Bitcoin.com| 比特币现金2019·年度回顾
  3. 大新闻!HTC旗舰手机已原生支持BCH
  4. libevent 实现的socket 通信 server以及解决找不到动态库的方法
  5. 基于双向LSTM和迁移学习的seq2seq核心实体识别
  6. react-antd项目中重新npm  install  导致自动升级antd版本,引发的样式问题
  7. Cloud Foundry平台中国唯一云供应商,阿里云持续链接Cloud Foundry/Kubernetes生态
  8. 并查集和prime和kruskal
  9. AngularJS 使用ngOption实现下拉列表
  10. rtems线程管理与调度(一)