我需要一段vue3+ts中用el-table中的row-click 属性,点击一行数据,并在百度地图上的对应点显示信息框的功能的代码
时间: 2024-06-10 13:08:01 浏览: 95
以下是示例代码:
```
<template>
<el-table :data="tableData" @row-click="showOnMap">
<el-table-column prop="name" label="名称"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
</el-table>
</template>
<script>
import BMap from 'BMap'
export default {
data() {
return {
tableData: [
{ name: '百度科技园', address: '北京市海淀区西北旺' },
{ name: '中国人民大学', address: '北京市海淀区中关村大街' }
]
}
},
methods: {
showOnMap(row) {
const map = new BMap.Map('container') // 百度地图容器的ID
const point = new BMap.Point(116.404, 39.915) // 具体的经纬度
const infoWindow = new BMap.InfoWindow(row.address) // 弹出信息框
map.centerAndZoom(point, 15) // 地图居中并缩放
map.addOverlay(new BMap.Marker(point)) // 添加标记点
map.openInfoWindow(infoWindow, point) // 打开信息框
}
}
}
</script>
```
希望这个示例能帮到你。
阅读全文