Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
genary
uni-app
提交
f437e88d
U
uni-app
项目概览
genary
/
uni-app
与 Fork 源项目一致
Fork自
DCloud / uni-app
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f437e88d
编写于
9月 09, 2022
作者:
C
codexu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(app): 增加位置更新 API 支持
上级
79415a58
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
81 addition
and
0 deletion
+81
-0
src/platforms/app-plus/service/api/index.js
src/platforms/app-plus/service/api/index.js
+1
-0
src/platforms/app-plus/service/api/location/location-change.js
...latforms/app-plus/service/api/location/location-change.js
+80
-0
未找到文件。
src/platforms/app-plus/service/api/index.js
浏览文件 @
f437e88d
...
@@ -29,6 +29,7 @@ export * from './file/open-document'
...
@@ -29,6 +29,7 @@ export * from './file/open-document'
export
*
from
'
./location/choose-location
'
export
*
from
'
./location/choose-location
'
export
*
from
'
./location/get-location
'
export
*
from
'
./location/get-location
'
export
*
from
'
./location/open-location
'
export
*
from
'
./location/open-location
'
export
*
from
'
./location/location-change
'
export
*
from
'
./media/audio
'
export
*
from
'
./media/audio
'
export
*
from
'
./media/choose-image
'
export
*
from
'
./media/choose-image
'
...
...
src/platforms/app-plus/service/api/location/location-change.js
0 → 100644
浏览文件 @
f437e88d
import
{
invoke
}
from
'
../../bridge
'
const
callbackIds
=
[]
const
callbackOnErrorIds
=
[]
const
callbackOffErrorIds
=
[]
let
watchId
/**
* 开始更新定位
*/
export
function
startLocationUpdate
({
type
=
'
wgs84
'
})
{
watchId
=
plus
.
geolocation
.
watchPosition
(
res
=>
{
callbackIds
.
forEach
(
callbackId
=>
{
invoke
(
callbackId
,
res
.
coords
)
})
},
error
=>
{
callbackOnErrorIds
.
forEach
(
callbackId
=>
{
invoke
(
callbackId
,
{
errMsg
:
'
onLocationChange:fail
'
+
error
.
message
})
})
},
{
coordsType
:
type
}
)
}
/**
* 暂停更新定位
* @param {*} callbackId
*/
export
function
stopLocationUpdate
(
callbackId
)
{
if
(
watchId
)
{
plus
.
geolocation
.
clearWatch
(
watchId
)
}
else
{
invoke
(
callbackId
,
{
errMsg
:
'
stopLocationUpdate:fail
'
})
}
return
{}
}
/**
* 监听更新定位
* @param {*} callbackId
*/
export
function
onLocationChange
(
callbackId
)
{
callbackIds
.
push
(
callbackId
)
}
/**
* 监听更新定位失败
* @param {*} callbackId
*/
export
function
onLocationChangeError
(
callbackId
)
{
callbackOnErrorIds
.
push
(
callbackId
)
}
// 移除实时地理位置变化事件的监听函数
export
function
offLocationChange
(
callbackId
)
{
if
(
callbackId
)
{
const
index
=
callbackIds
.
indexOf
(
callbackId
)
if
(
index
>=
0
)
{
callbackIds
.
splice
(
index
,
1
)
}
else
{
callbackOffErrorIds
.
forEach
(
callbackId
=>
{
invoke
(
callbackId
,
{
errMsg
:
'
offLocationChange:fail
'
})
})
}
}
else
{
callbackIds
.
length
=
0
}
}
// 移除实时地理位置变化事件的监听函数
export
function
offLocationChangeError
(
callbackId
)
{
callbackOffErrorIds
.
push
(
callbackId
)
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录