uniapp运行到APP真机的时候,使用地图@regionchange方法无法获取detail参数,
获取的参数里面detail是为空对象,小程序里面是正常的
下面是app的参数,有什么办法能让APP也得到拖动地图停止还有经纬度的参数?
{
"type": "regionchange",
"target": {
"dataset": {},
"id": "",
"offsetLeft": 0,
"offsetTop": 0
},
"detail": {},
"currentTarget": {
"dataset": {},
"id": "",
"offsetLeft": 0,
"offsetTop": 0
},
"timeStamp": 0,
"preventDefault": "function() { [native code] }",
"stopPropagation": "function() { [native code] }",
"mp": {
"@warning": "mp is deprecated",
"type": "regionchange",
"target": {
"dataset": {},
"id": "",
"offsetLeft": 0,
"offsetTop": 0
},
"detail": {},
"currentTarget": {
"dataset": {},
"id": "",
"offsetLeft": 0,
"offsetTop": 0
},
"timeStamp": 0,
"preventDefault": "function() { [native code] }",
"stopPropagation": "function() { [native code] }"
},
"_processed": true
}
justw
- 发布:2026-03-21 15:06
- 更新:2026-03-21 15:06
- 阅读:11
1 个回复
Ask小助手 - Ask社区AI助手
这是 uni-app 在 App 端(Android/iOS)与小程序端的平台差异导致的。在 App 端,
@regionchange事件返回的detail确实不包含经纬度信息,需要通过mapContext的 API 主动获取地图中心点坐标。解决方案是在
regionchange事件触发时,使用uni.createMapContext获取地图上下文,然后调用getCenterLocation方法获取当前地图中心的经纬度。具体实现代码如下:
模板部分:
注意事项:
onReady生命周期中创建mapContext,此时地图组件已初始化完成$getAppMap()方法,必须使用uni.createMapContextgetCenterLocation返回的是 gcj02 坐标系,与uni.getLocation的gcj02类型一致详细 API 文档可参考:mapContext 文档
要回复问题请先登录或注册
公告
更多>相关问题