在nvue编译模式为默认的uni-app模式下api方法没有效果
- 发布:2022-01-19 15:56
- 更新:2024-07-30 11:37
- 阅读:2252
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows11
HBuilderX类型: 正式
HBuilderX版本号: 3.3.5
手机系统: Android
手机系统版本号: Android 12
手机厂商: 小米
手机机型: 小米10pro
页面类型: nvue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
在uni-app编译模式下可以正常使用
在uni-app编译模式下可以正常使用
实际结果:
无法使用
无法使用
bug描述:
地图上下文 uni.createMapContext(mapId,this) 中的方法addMarkers无法使用,失败,成功回调都没有执行
<script>
export default {
data() {
return {
mapData: {
longitude: 0,
latitude: 0,
enableSatellite: false,
markers: []
},
_mapContext: null
}
},
methods: {
// 获取当前位置,并移动到当前位置为中心点
getCurLocation() {
uni.getLocation({
// type: 'gcj02',
isHighAccuracy: true,
success: (res) => {
const {
latitude,
longitude
} = res
this.mapData.longitude = longitude
this.mapData.latitude = latitude
const marker = {
id: 'currentPosition',
latitude,
longitude,
iconPath: '/static/img/icon_positioning.png',
width: 48,
height: 48,
callout: {
content: '当前位置',
display: 'ALWAYS',
padding: 10,
borderRadius: 5,
fontSize: 14
}
}
// this.mapData.markers = [marker]
this._mapContext.addMarkers({
markers: [marker],
success: (res) => {
console.log(res)
},
fail: (err) => {
console.log(err)
}
})
this._mapContext.moveToLocation({
longitude,
latitude
})
this._mapContext.openMapApp()
},
fail() {
uni.showToast({
title: '获取定位失败,请点击定位从新获取',
icon: 'none'
})
},
})
},
// 点击地图
mapTap(e) {
const { latitude, longitude } = e.detail
},
// 切换地图
switchLayer() {
this.mapData.enableSatellite = !this.mapData.enableSatellite
}
},
onLoad() {
this.getCurLocation()
},
onReady() {
this._mapContext = uni.createMapContext('patrolMap', this)
}
}
1***@qq.com (作者)
感谢
2022-01-20 10:33