3***@qq.com
3***@qq.com
  • 发布:2024-07-29 11:32
  • 更新:2024-08-18 13:25
  • 阅读:229

【报Bug】map @callouttap事件在高德地图的情况下拿不到markerId

分类:uni-app

产品分类: uniapp/H5

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 4.24

浏览器平台: Chrome

浏览器版本: 126

项目创建方式: HBuilderX

操作步骤:

看BUG 描述中的代码,一眼就能发现问题。

预期结果:

在H5的高德地图,@callouttap方法里detail.markerId返回真实id

实际结果:

在H5的高德地图,@callouttap方法里detail.markerId返回NaN

bug描述:

使用 <map class="w-full h-0 flex-1" :markers="markers" @markertap="onMarkerClick" @callouttap="onMarkerClick" scale="17" show-location enable-poi enable-3D></map>时,在浏览器环境配置高德地图callouttap返回的结果里detail.markerId为NaN。查看uni-h5.es发现以下代码,判断高德地图后取id3是有问题的,应该使用id2。

if (getIsAMap()) {  
  const callback = (id3) => {  
    if (id3 !== "") {  
      trigger("callouttap", {}, {  
        markerId: Number(id3)  
      });  
    }  
  };  
  callout = marker.callout = new maps2.Callout(calloutStyle, callback);  
} else {  
  callout = marker.callout = new maps2.Callout(calloutStyle);  
  callout.div.onclick = function($event) {  
    if (id2 !== "") {  
      trigger("callouttap", $event, {  
        markerId: Number(id2)  
      });  
    }  
    $event.stopPropagation();  
    $event.preventDefault();  
  };
2024-07-29 11:32 负责人:无 分享
已邀请:

最佳回复

DCloud

DCloud

HBuilderX 4.25.2024081703-alpha 已修复。

DCloud_UNI_yuhe

DCloud_UNI_yuhe

感谢反馈,我们会进行验证

  • 7***@qq.com

    插个题外话,请问vue项目里的subnvue界面使用map的getRegion设置success方法不成功有没有头绪

    2024-07-29 15:09

  • DCloud_UNI_yuhe

    回复 7***@qq.com: 你说的是哪个getRegion?

    2024-07-30 19:19

DCloud_UNI_yuhe

DCloud_UNI_yuhe

下个版本会修复

要回复问题请先登录注册