<map style="width: 100%; height: 90vh;" :show-location='true' :latitude="latitude" :longitude="longitude" :markers="marker" :scale="scale" @markertap="markertap" show-location=true isHighAccuracy=true @callouttap='callouttap'>在onload里执行的代码调用腾讯地图api后获取的latitude和longitude,如何可以在组件渲染后显示出点坐标来
时间: 2023-12-02 08:03:12 浏览: 77
这段代码是Vue.js中的一个自定义组件,用于渲染腾讯地图,并显示地图点。其中`latitude`和`longitude`是地图点的经纬度信息,`marker`是一个数组,用于在地图上添加多个地图点,`scale`是地图的缩放级别。
为了在组件渲染后显示地图点,需要在调用腾讯地图API获取经纬度信息后,将其更新到`latitude`和`longitude`中。这可以通过Vue.js中的`mounted`生命周期钩子来实现,例如:
```javascript
<template>
<div>
<map style="width: 100%; height: 90vh;"
:show-location='true'
:latitude="latitude"
:longitude="longitude"
:markers="marker"
:scale="scale"
@markertap="markertap"
show-location=true
isHighAccuracy=true
@callouttap='callouttap'>
</map>
</div>
</template>
<script>
export default {
data() {
return {
latitude: 0,
longitude: 0,
marker: [],
scale: 15
};
},
mounted() {
// 调用腾讯地图API获取经纬度信息
const latitude = 39.9042;
const longitude = 116.4074;
// 将经纬度信息更新到data中的变量中
this.latitude = latitude;
this.longitude = longitude;
// 在地图上添加地图点
this.marker.push({
id: 0,
latitude: latitude,
longitude: longitude,
title: '地图点',
iconPath: '/static/images/location.png',
width: 30,
height: 30,
callout: {
content: '这是一个地图点',
fontSize: 14,
borderRadius: 5,
bgColor: '#ffffff',
padding: 10,
display: 'ALWAYS',
textAlign: 'center'
}
});
},
methods: {
markertap() {
// 地图点被点击时触发
},
callouttap() {
// 地图点的气泡被点击时触发
}
}
};
</script>
```
在上面的代码中,`mounted`生命周期钩子被用于调用腾讯地图API获取经纬度信息,并将其更新到`latitude`和`longitude`中。然后,使用`marker.push`方法在`marker`数组中添加一个地图点,并将经纬度、标题、气泡等信息传递给地图点。最后,将`latitude`和`longitude`作为`<map>`组件的属性,即可在组件渲染后显示出地图点。
阅读全文