2***@qq.com
2***@qq.com
  • 发布:2021-09-15 16:22
  • 更新:3 天前
  • 阅读:54

【报Bug】uniAPP map getCenterLocation方法无返回信息

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: window10

HBuilderX类型: Alpha

HBuilderX版本号: 3.2.7

手机系统: Android

手机系统版本号: Android 9.0

手机厂商: vivo

手机机型: vivo Y3 4G+64G版

页面类型: nvue

nvue编译模式: 纯nvue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

nvue代码:
<map id="map1" class="map1" ref="map1" v-if="latitude" :style="'width:'+windowWidth+'px;height:'+windowHeight+'px;'" @regionchange="changeMap" scale="16" :latitude="latitude" :longitude="longitude" :markers="covers">

changeMap方法内容:

this.mapContext.getCenterLocation({
success: (res) => {
console.log("getCenterLocation");
console.log(res);
}
})

操作步骤:

1、uni.getLocation获取latitude及longitude;
2、手滑动地图,结束会调用regionchange方法;
3、在regionchange中的type为'end'后调用getCenterLocation方法,然后没有返回值。

预期结果:

预期能打印出getCenterLocation及res
this.mapContext.getCenterLocation({
success: (res) => {
console.log("getCenterLocation");
console.log(res);
}
})

实际结果:

结果是空的,并没有进入回调函数

bug描述:

没用返回值,很多人都遇到了这个问题吧,提了官方也没有处理,Vue页面可以有返回值,但是nvue页面是没有返回的。

2021-09-15 16:22 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com (作者)

这个问题有人吗- -没人

2***@qq.com

2***@qq.com (作者)

@regionchange方法:
Vue和nvue的返回参数也不一样,

nvue返回:会在滑动地图的时候,调用一次,,手放开的时候,调用一次。---有个start和end

vue返回:只会在手放开的时候,调用一次。

DCloud_Android_ST

DCloud_Android_ST

测试正常,未见异常

DCloud_UNI_HDX

DCloud_UNI_HDX

用下面的代码试试

<template>  
  <view>  
    <map id="map1" class="map1" :show-location="true" :latitude="latitude" :longitude="longitude"></map>  
    <button @click="getCenterLocation">getCenterLocation</button>  
  </view>  
</template>  

<script>  
  export default {  
    data() {  
      return {  
        latitude: 39.925539,  
        longitude: 116.279037  
      }  
    },  
    onReady() {  
      this.mapContext = uni.createMapContext("map1", this);  
    },  
    methods: {  
      getCenterLocation() {  
        this.mapContext.getCenterLocation({  
          success: (res) => {  
            console.log("getCenterLocation");  
            console.log(res);  
          }  
        })  
      }  
    }  
  }  
</script>  

<style>  
  .map1 {  
    width: 750rpx;  
    height: 400px;  
  }  
</style>  

要回复问题请先登录注册