uniapp中marker.on 的点击事件怎么传递参数
时间: 2023-09-29 18:08:01 浏览: 63
在uniapp中,使用 marker.on 的方式与原生JavaScript相同,可以使用函数的方式传递参数。具体实现方法如下:
1.在data中定义需要传递的参数
```
data() {
return {
param1: '参数1',
param2: '参数2'
}
}
```
2.定义一个函数,该函数接收需要传递的参数。
```
function markerClick(param1, param2) {
console.log(param1, param2);
}
```
3.在 marker.on 的点击事件中调用该函数,并将需要传递的参数作为参数传递给该函数。
```
marker.on('click', function() {
markerClick(this.param1, this.param2);
});
```
这样,在 marker.on 的点击事件中,可以通过 this.param1 和 this.param2 获取到定义在 data 中的参数值,并将其作为参数传递给 markerClick 函数,从而实现了在 marker.on 的点击事件中传递参数的功能。
相关问题
marker.on 的点击事件怎么传递参数
在使用 marker.on 的点击事件时,可以使用函数的方式传递参数。具体实现方法如下:
1.定义一个函数,该函数接收需要传递的参数。
```
function markerClick(param1, param2) {
console.log(param1, param2);
}
```
2.在 marker.on 的点击事件中调用该函数,并将需要传递的参数作为参数传递给该函数。
```
marker.on('click', function() {
markerClick('参数1', '参数2');
});
```
这样,当点击 marker 时,会执行 markerClick 函数,并将参数 '参数1' 和 '参数2' 传递给该函数,从而实现了在 marker.on 的点击事件中传递参数的功能。
uniapp中高德地图给marker添加点击事件
在uniapp中使用高德地图,可以通过以下步骤给marker添加点击事件:
1. 在template中定义地图组件,例如:
```
<template>
<view class="map-container">
<map :longitude="longitude" :latitude="latitude" :markers="markers" @markertap="onMarkerTap"></map>
</view>
</template>
```
2. 在script中定义地图组件的data和methods,例如:
```
<script>
export default {
data() {
return {
longitude: 116.397428,
latitude: 39.90923,
markers: [{
id: 1,
latitude: 39.90923,
longitude: 116.397428,
title: 'Marker 1',
iconPath: '/static/images/marker.png'
}, {
id: 2,
latitude: 39.91923,
longitude: 116.407428,
title: 'Marker 2',
iconPath: '/static/images/marker.png'
}]
}
},
methods: {
onMarkerTap(e) {
console.log('Marker ' + e.markerId + ' was tapped')
}
}
}
</script>
```
3. 在markers数组中定义每个marker的id、经纬度、标题、图标等属性;同时,在map组件中通过@markertap监听marker的点击事件,并调用onMarkerTap方法处理事件。
4. 在onMarkerTap方法中可以获取到被点击marker的id,进行相应的处理。