小程序小程序marker点击后需要刷新页面才能变化,没办法实时更新
时间: 2023-09-28 08:12:21 浏览: 66
您可以使用小程序的setData方法来实时更新页面,例如在marker点击事件中,可以更新页面数据,从而实现实时更新。示例代码如下:
```
Page({
data: {
markers: [{
id: 1,
latitude: 23.099994,
longitude: 113.324520,
title: 'T.I.T 创意园',
iconPath: '/images/location.png',
width: 50,
height: 50
}]
},
onMarkerTap: function(e) {
var that = this;
var markers = that.data.markers;
var markerId = e.markerId;
for (var i = 0; i < markers.length; i++) {
if (markers[i].id === markerId) {
markers[i].iconPath = '/images/location-click.png'; // 修改marker的icon
break;
}
}
that.setData({
markers: markers // 更新页面数据
});
}
})
```
在上述代码中,我们在onMarkerTap事件中,通过setData方法更新了页面数据,从而实现了实时更新。具体实现中,我们先获取当前点击的marker的id,然后遍历markers数组,找到对应的marker,修改其iconPath属性,最后再通过setData方法更新页面数据。
阅读全文