刚才得 vue 腾讯地图地图选点组件iframe调用 反显地点 全部代码
时间: 2023-10-20 10:54:58 浏览: 136
2.(vue3.x+vite)调用iframe的方法(vue编码).rar
好的,以下是一个简单的 Vue 组件,可以在腾讯地图上选择点,并将选择的地点反显在地图上:
```
<template>
<div>
<iframe id="mapIframe" src="https://apis.map.qq.com/tools/locpicker?search=1&type=1&key=[your_key]&referer=[your_referer]"></iframe>
</div>
</template>
<script>
export default {
mounted() {
window.addEventListener('message', this.handleMapMessage)
},
beforeDestroy() {
window.removeEventListener('message', this.handleMapMessage)
},
methods: {
handleMapMessage(event) {
if (event.origin !== 'https://apis.map.qq.com') {
return
}
const message = JSON.parse(event.data)
if (message.module === 'locationPicker' && message.result === 0) {
const location = message.pois[0].latLng
// 这里可以将 location 保存到 Vuex 或者 Emit 传递给父组件等等
console.log(location)
}
}
}
}
</script>
```
其中,`[your_key]` 和 `[your_referer]` 分别需要替换为你自己的腾讯地图开发者密钥和来源网址。在组件中,我们使用了一个 `iframe` 来加载腾讯地图的选点工具,并且在组件中监听 `message` 事件来获取选点工具返回的信息。选点工具返回的信息是一个 JSON 对象,其中 `pois` 属性是选中的点的数组,我们可以从中取出第一个点的经纬度信息,并将其保存到 Vuex 或者 Emit 传递给父组件等等。
阅读全文