使用vue2语法这一个使用高德地图批量添加标记点
时间: 2024-02-20 15:00:11 浏览: 27
好的,下面是一个使用 Vue 2.x 和高德地图 API 批量添加标记点的示例代码:
```html
<template>
<div id="map" style="height: 500px;"></div>
</template>
<script>
import AMap from 'AMap';
export default {
data() {
return {
map: null,
markers: [
{ position: [116.480983, 39.989628], title: '这是一个 marker1' },
{ position: [116.490983, 39.999628], title: '这是一个 marker2' },
{ position: [116.500983, 39.979628], title: '这是一个 marker3' }
]
};
},
mounted() {
// 创建地图实例
this.map = new AMap.Map('map', {
zoom: 10,
center: [116.39, 39.9]
});
// 批量创建 marker
this.markers.forEach(marker => {
this.createMarker(marker);
});
},
methods: {
// 创建 marker
createMarker(marker) {
new AMap.Marker({
map: this.map,
position: marker.position,
title: marker.title
});
}
}
};
</script>
```
在这个示例中,我们首先在模板中创建了一个地图容器 `div`,然后在 `data` 中定义了一个 `markers` 数组,数组中包含了多个标记点的位置和标题。在 `mounted` 钩子函数中,我们首先创建了地图实例,然后使用 `forEach` 方法遍历 `markers` 数组,依次调用 `createMarker` 方法创建每一个标记点。
在 `createMarker` 方法中,我们使用 `AMap.Marker` 类创建了一个 marker 实例,并设置了 marker 的位置和标题,最后将 marker 添加到地图中即可。
需要注意的是,为了使用高德地图 API,我们需要先安装 `AMap` 并引入:
```bash
npm install --save AMap
```
```javascript
import AMap from 'AMap';
```
同时,我们还需要在 `index.html` 中引入高德地图 JavaScript API:
```html
<script src="https://webapi.amap.com/maps?v=1.4.15&key=YOUR_KEY"></script>
```
其中,`YOUR_KEY` 需要替换为你自己的高德地图开发者 key。