taro 地图Map组件挪动视野后点击marker事件,地图还原至挪动视野之前的位置和缩放比例

njthzxwz  于 2023-02-04  发布在  其他
关注(0)|答案(5)|浏览(277)

相关平台

微信小程序

小程序基础库: 2.18.0
使用框架: React

复现步骤

1、地图挪动视野,放大或缩小地图视野

2、点击marker

3、地图自动缩放至步骤1操作之前的比例,现象就是地图放大或缩小并挪动,导致点击高亮的marker被移动到其他位置。

期望结果

诉求:希望点击marker时地图不更新视野

实际结果

实际:点击marker时地图视野发生变化

环境信息

👽 Taro v3.3.2
b4qexyjb

b4qexyjb1#

补充说明:
编译器表现正常,真机才会出现以上现象

s6fujrry

s6fujrry2#

先写个原生 demo 看看是不是也有问题,如果还有问题就提供一下完整可复现的 Demo

cunj1qz1

cunj1qz13#

先写个原生 demo 看看是不是也有问题,如果还有问题就提供一下完整可复现的 Demo

5us2dqdw

5us2dqdw4#

先写个原生 demo 看看是不是也有问题,如果还有问题就提供一下完整可复现的 Demo

之前用1.3的框架写了是没有问题的,升级3.x之后出现的问题,该地图场景交互比较多,交互少的地图没有出现这个问题。
补充说明:setMarker(),setMapCenter,setMapScale值之后执行includePoints,连续进入地图会出现includePoints失效的情况,或者呈现地图放大缩小。

sg24os4d

sg24os4d5#

和这个问题是一个
#8466

解决办法就是实时维护 mapcenter mapscale,或者在下一个交互事件中直接设为空 '' undefinded

以mapScale 为例,伪代码

state={
mapScale:6
}

onMapScale=(e)=>{this.setState({mapScale:'' // 或者e.detail.mapScale,优先采用空值,性能好些})}

render(){
return (<Map scale={this.state.mapScale} onMapScale={this.onMapScale}/>)
}

相关问题