uniapp 实时定位(高德、后台运行、支持息屏、坐标转换、距离计算) Ba-LocationAMap
简介(下载地址)
Ba-LocationAMap 是一款uniapp定位插件(高德)。支持实时定位、后台运行、息屏运行等;支持逆地理地址信息;支持坐标转换;支持坐标转换;支持距离计算;支持电池优化白名单。
本插件自带简单保活,如果需要进一步保活,请使用 Ba-KeepAlive。
- 支持设置位置信息更新周期
- 支持设置定位模式:高精度、低功耗、仅设备
- 支持设置单次定位、持续定位
- 支持设置开启、关闭后台定位
- 支持获取定位开关是否打开
- 支持跳转到定位服务设置界面
- 支持返回逆地理地址信息
- 支持坐标转换
- 支持两点间距离计算
- 支持电池优化白名单
截图展示
使用方法
申请并配置高德appkey
在高德开放平台,申请高德appkey。
在 manifest.json 中,配置申请的appkey,如下图:
引入组件
在 script
中引入组件
const location = uni.requireNativePlugin('Ba-LocationAMap')
调用
在 script
中调用(示例参考,可根据自己业务和调用方法自行修改)
const location = uni.requireNativePlugin('Ba-LocationAMap')export default {data() {return {msgList: [],locationMode: '0',interval: '2000',onceLocation: false,needAddress: true}},onLoad() {},methods: {startL() { //开启定位location.start(res => {console.log(res);uni.showToast({title: res.msg,icon: "none",duration: 3000})}, {locationMode: this.locationMode,interval: this.interval,onceLocation: this.onceLocation,needAddress: this.needAddress});},stopL() { //关闭定位location.stop(res => {console.log(res);uni.showToast({title: res.msg,icon: "none",duration: 3000})});},isStartLocation() { //是否开启定位location.isStartLocation(res => {console.log(res);if (res.data) {this.msgList.unshift(JSON.stringify(res.data))this.msgList.unshift(dateUtil.now())}uni.showToast({title: res.msg,icon: "none",duration: 3000})});},enableBackground() { //开启后台定位location.enableBackground(res => {console.log(res);uni.showToast({title: res.msg,icon: "none",duration: 3000})});},disableBackground() { //关闭后台定位location.disableBackground(res => {console.log(res);uni.showToast({title: res.msg,icon: "none",duration: 3000})});},isEnableBackground() { //是否开启后台定位location.isEnableBackground(res => {console.log(res);if (res.data) {this.msgList.unshift(JSON.stringify(res.data))this.msgList.unshift(dateUtil.now())}uni.showToast({title: res.msg,icon: "none",duration: 3000})});},convertPoint() { //转换坐标location.convertPoint({coordType: 1,longitude: 114.501575,latitude: 38.05544}, res => {console.log(res);if (res.data) {this.msgList.unshift(JSON.stringify(res.data))this.msgList.unshift(dateUtil.now())}uni.showToast({title: res.msg,icon: "none",duration: 3000})});},calculateLineDistance() { //两点间距离计算location.calculateLineDistance({longitude1: 114.501575,latitude1: 38.05544,longitude2: 114.501182,latitude2: 38.056119}, res => {console.log(res);if (res.data) {this.msgList.unshift(JSON.stringify(res.data))this.msgList.unshift(dateUtil.now())}uni.showToast({title: res.msg,icon: "none",duration: 3000})});},isLocationEnable() { //定位开关是否打开location.isLocationEnable(res => {console.log(res);if (res.data) {this.msgList.unshift(JSON.stringify(res.data))this.msgList.unshift(dateUtil.now())}uni.showToast({title: res.msg,icon: "none",duration: 3000})});},goSetting() { //跳转到定位服务设置界面location.goSetting(res => {console.log(res);uni.showToast({title: res.msg,icon: "none",duration: 3000})});},requestIgnoreBattery() { //申请加入电池优化白名单location.requestIgnoreBattery(res => {console.log(res);uni.showToast({title: res.msg,icon: "none",duration: 3000})});},isIgnoringBattery() { //是否加入电池优化白名单location.isIgnoringBattery(res => {console.log(res);if (res.data) {this.msgList.unshift(JSON.stringify(res.data))this.msgList.unshift(dateUtil.now())}uni.showToast({title: res.msg,icon: "none",duration: 3000})});},}}
定位信息监听
在应用生命周期App.vue的onLaunch事件中设置监听:
onLaunch: function() {var globalEvent = uni.requireNativePlugin('globalEvent');globalEvent.addEventListener('baLocationAMapEvent', function(e) {console.log('baLocationAMapEvent:' + JSON.stringify(e));//这里写你的逻辑,定位信息参数如下});},onShow: function() {},onHide: function() {}
定位信息参数
属性名 | 类型 | 说明 |
---|---|---|
longitude | Number | 经度 |
latitude | Number | 纬度 |
time | Number | 时间 |
speed | Number | 速度 |
altitude | Number | 海拔,单位 m |
bearing | Number | 方位 |
accuracy | Number | 位置的精确度 |
locationType | String | 定位类型 |
address | String | 地址 |
api 列表
方法名 | 说明 |
---|---|
start | 开启定位服务 |
stop | 停止定位服务 |
isStartLocation | 是否开启定位 |
enableBackground | 开启后台定位 |
disableBackground | 关闭后台定位 |
isEnableBackground | 是否开启后台定位 |
convertPoint | 转换坐标 |
calculateLineDistance | 两点间距离计算 |
isLocationEnable | 定位开关是否打开 |
goSetting | 跳转到定位服务设置界面 |
requestIgnoreBattery | 申请加入电池优化白名单 |
isIgnoringBattery | 是否加入电池优化白名单 |
start 方法参数
开启定位服务
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
locationMode | Number | false | 0 | 定位模式:默认为高精度模式,0 高精度,1 为低功耗模式,2 是仅设备模式 |
interval | Number | false | 2000 | 定位间隔:单位毫秒,默认为2000 |
onceLocation | Boolean | false | false | 是否单次定位。默认是false |
httpTimeOut | Number | false | 30000 | 网络请求超时时间。默认为30秒。在仅设备模式下无效 |
locationCacheEnable | Boolean | false | true | 是否使用缓存定位,默认为true |
needAddress | Boolean | false | true | 是否返回逆地理地址信息。默认是true |
isEnableBackground | Boolean | false | false | 是否开启后台定位,默认不开启 |
convertPoint 方法参数
转换坐标
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
longitude | Number | true | 经度 | |
latitude | Number | true | 纬度 | |
coordType | Number | false | 1 | 坐标来源:1:百度 2:图吧 3:图盟 4:搜搜 5:阿里云 6:谷歌 7:GPS |
返回
{“longitude”:114.49514,“latitude”:38.04919}
calculateLineDistance 方法参数
两点间距离计算
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
longitude1 | Number | true | 经度1 | |
latitude1 | Number | true | 纬度1 | |
longitude2 | Number | true | 经度2 | |
latitude2 | Number | true | 纬度2 |
返回
{“distance”:82.885}
系列插件
图片选择插件 Ba-MediaPicker (文档)
图片编辑插件 Ba-ImageEditor (文档)
文件选择插件 Ba-FilePicker (文档)
应用消息通知插件(多种样式,新增支持常驻通知模式) Ba-Notify(文档)
应用未读角标插件 Ba-Shortcut-Badge (文档)
应用开机自启插件 Ba-Autoboot(文档)
扫码原生插件(毫秒级、支持多码)Ba-Scanner-G(文档)
扫码原生插件 - 新(可任意自定义界面版本;支持连续扫码;支持设置扫码格式)Ba-Scanner(文档)
动态修改状态栏、导航栏背景色、字体颜色插件 Ba-AppBar(文档)
原生sqlite本地数据库管理 Ba-Sqlite(文档)
安卓保活插件(采用多种主流技术) Ba-KeepAlive(文档)
安卓快捷方式(桌面长按app图标) Ba-Shortcut(文档)
自定义图片水印(任意位置) Ba-Watermark(文档)
最接近微信的图片压缩插件 Ba-ImageCompressor(文档)
视频压缩、视频剪辑插件 Ba-VideoCompressor(文档)
动态切换应用图标、名称(如新年、国庆等) Ba-ChangeIcon(文档)
原生Toast弹窗提示(穿透所有界面、穿透原生;自定义颜色、图标 ) Ba-Toast(文档)
图片涂鸦、画笔 Ba-ImagePaint(文档)
pdf阅读(手势缩放、显示页数) Ba-Pdf(文档)
声音提示、震动提示、语音播报 Ba-Beep(文档)
websocket原生服务(自动重连、心跳检测) Ba-Websocket(文档)
短信监听(验证码) Ba-Sms(文档)
智能安装(自动升级) Ba-SmartUpgrade(文档)
监听系统广播、自定义广播 Ba-Broadcast(文档)
监听通知栏消息(支持白名单、黑名单、过滤) Ba-NotifyListener(文档)
全局置灰、哀悼置灰(可动态、同时支持nvue、vue) Ba-Gray(文档)
获取设备唯一标识(OAID、AAID、IMEI等) Ba-IdCode(文档)
实时定位(系统、后台运行、支持息屏)插件 Ba-Location(文档)
实时定位(高德、后台运行、支持息屏、坐标转换、距离计算) Ba-LocationAMap(文档)
窗口小工具、桌面小部件、微件 Ba-AppWidget(文档)
窗口小工具、桌面小部件、微件(日历、时间) Ba-AwCalendarS(文档)
画中画悬浮窗(视频) Ba-VideoPip(文档)
悬浮窗(在其他应用上层显示) Ba-FloatWindow(文档)
悬浮窗(应用内、无需授权) Ba-FloatWindow2(文档)
悬浮窗(悬浮球、动态菜单、在其他应用上层显示) Ba-FloatBall(文档)
uniapp 实时定位(高德、后台运行、支持息屏、坐标转换、距离计算) Ba-LocationAMap相关推荐
- uniapp 实时定位(系统、后台运行、支持息屏)插件 Ba-Location
简介(下载地址) Ba-Location 是一款系统GPS实时定位插件,可后台运行,可以息屏运行,可在内网使用. 本插件自带一种保活技术,如果需要进一步保活,请使用 Ba-KeepAlive. 注意: ...
- 鸿蒙系统息屏显示动画,魅族Flyme 9:支持息屏显示 Alive壁纸
今天下午,魅族带来了Flyme 9发布会.魅族表示,系统作为用户与手机交互的媒介,是用户体验的灵魂.回想起来,每一代Flyme都是经典.Flyme以简洁优雅的设计和创新实用的功能为用户创造极致体验. ...
- android10不能熄屏,骁龙835不支持息屏唤醒 华为EMUI 10发布时间确定
骁龙835不支持息屏唤醒 华为EMUI 10发布时间确定 2019-07-11 17:20:53 0点赞 0收藏 0评论 根据多家媒体报道,小爱同学负责人解答了小米手机的部分疑问. 据悉,小米Note ...
- Android 程序后台运行和锁屏运行
Android 后台服务保活 需求 方案 推广一下我的个人博客小站: Z同学 期待大家的围观 需求 1.在华为手机中应用切换到后台后,打开其他app.需要我的应用后台仍然能够访问http,传输数据. ...
- iPhone 13 或将支持息屏显示功能
近日国外Max Weinbach表示,今年的iPhone 13(或iPhone 12S)很有可能加入息屏显示功能「AOD(Always on Display」.息屏显示可以让用户在息屏状态下查看时间和 ...
- iqooz1服务器无响应,iqooz1支持息屏显示吗,iqooz1可以息屏显示吗
iQOOZ1手机是2020年6月份发布的新手机,许多 客户想对它多一些掌握,那麼iqooz1适用息屏显示吗? 知名品牌型号规格:iqooz1 系统版本:iqoo UI iqooz1适用息屏显示吗 iq ...
- android 后台实时定位,实现后台定位,持续无限制定位
更新记录 1.0.2(2021-04-27) 新增:定位模式传入可高精度定位模式,低功耗定位模式,以及实现gps离线定位(不需要连接网络) 1.0.1(2021-03-17) 1.停止定位增加回调信息 ...
- 苹果iPhone 13系列有望支持息屏显示
Mark Gurman 在今天的Power On专栏中谈到了全新的 iPhone 13(或 12s系列,现距离下一代 iPhone 发布还有不到2个月的时间. Gurman预测,iPhone 13 系 ...
- H5实时上传位置定位 pc生成轨迹;h5保持后台运行
解决方案 1 /**若通过用户操作获取定位无需实时上传定位 可用一下代码 相对定位更加准确*若需求是生成轨迹 如:滴滴打车 顺风车 运动轨迹 以下代码不可行 *在息屏 或 代码再后台运行时 改代码 无 ...
最新文章
- ubuntu下载工具aria2 uGet
- 架构设计 例子和实践
- 架构师进阶之独孤九剑:设计模式详解
- Mycat+Mysql 插入数据报错 i[Err] 1064 - partition table, insert must provide ColumnList
- 利用钩子技术控制进程创建(附源代码)
- opencv绘制基本形状的二值图像
- [论文笔记]Augmented SBERT: Data Augmentation Method for Improving Bi-Encoders for Pairwise Sentence
- java 顺序执行_java程序执行顺序
- doip 源码_汽车DoIP通讯协议的前世今生
- 计算机毕业设计Java乡村基层政务管理系统(源码+系统+mysql数据库+Lw文档)
- 16秋计算机JAVA第一节课作业(钟永钜)
- 华为加班夜宵报销要主管审批?任正非怒斥:多此一举
- 论文笔记 AAAI 2021|what the role is vs. What plays the role: Semi-supervised Event Argument Extraction v
- 时尚集团副总裁西单解密《时尚江湖》
- Android设备上一张图片的显示过程
- 3.SpringBoot整合Mybatis(一对多)
- python性能测试模块_【Python】模块学习之locust性能测试
- 权桂贤发布,张朝阳站台:这才是5G安卓机皇
- 2020 豆瓣API使用(代理方法) 解决无key方法 code 104解决方法
- 网站建设要怎么选择域名?有哪些小技巧?
热门文章
- 计算机数据采集 的优点,浅谈数据采集器的硬件特点及作用
- undefined symbol: _dl_sym, version GLIBC_PRIVATE
- 求职行测题和性格测试题
- 企业邮箱怎么购买?企业邮箱能给公司带来什么好处?
- Canfestival 导入EDS,生成文件没有数据名。
- linux系统英伟达显卡刷新率,nVidia多显卡多GPU在Linux下的超频设置
- Ansible(剧本,角色编写)
- YOLOv5实战垃圾分类目标检测
- .net NPOI Excel导入:时间格式2022/5/26导入变成26-5月-2022
- 基于B/S构架模式的医院门诊系统