openlayers用vue2地圖標(biāo)注之前把上一個(gè)標(biāo)注的坐標(biāo)點(diǎn)清除一下,不然上一個(gè)標(biāo)注會(huì)和當(dāng)前的點(diǎn)擊坐標(biāo)點(diǎn)地圖標(biāo)注一起重合標(biāo)注在地圖上

你可以在點(diǎn)擊地圖標(biāo)注之前使用 clearMarkers 方法清除上一個(gè)標(biāo)注的坐標(biāo)點(diǎn),該方法會(huì)清空地圖上所有的標(biāo)注點(diǎn)。

示例代碼:


<template>
  <div id="map"></div>
</template>
<script>
import 'ol/ol.css';
import { Map, View } from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
import VectorLayer from 'ol/layer/Vector';
import VectorSource from 'ol/source/Vector';
import Feature from 'ol/Feature';
import Point from 'ol/geom/Point';
import { Icon, Style } from 'ol/style';
export default {
  name: 'Map',
  data() {
    return {
      map: null,
      source: null,
      layer: null,
      markers: []
    };
  },
  mounted() {
    this.initMap();
  },
  methods: {
    initMap() {
      // 初始化地圖
      this.map = new Map({
        target: 'map',
        layers: [
          new TileLayer({
            source: new OSM()
          })
        ],
        view: new View({
          center: [0, 0],
          zoom: 2
        })
      });
      // 添加標(biāo)注圖層
      this.source = new VectorSource();
      this.layer = new VectorLayer({
        source: this.source
      });
      this.map.addLayer(this.layer);
      // 監(jiān)聽地圖單擊事件
      this.map.on('singleclick', this.handleMapClick);
    },
    handleMapClick(event) {
      // 清除上一個(gè)標(biāo)注點(diǎn)
      this.clearMarkers();
      // 獲取點(diǎn)擊坐標(biāo)點(diǎn)
      const coord = event.coordinate;
      // 創(chuàng)建標(biāo)注點(diǎn)
      const marker = new Feature({
        geometry: new Point(coord)
      });
      // 設(shè)置標(biāo)注圖標(biāo)
      marker.setStyle(
        new Style({
          image: new Icon({
            src: '/../assets/logo.png',
            scale: 0.5
          })
        })
      );
      // 添加標(biāo)注點(diǎn)到圖層上
      this.source.addFeature(marker);
      // 保存標(biāo)注點(diǎn)
      this.markers.push(marker);
    },
    clearMarkers() {
      // 清空所有的標(biāo)注點(diǎn)
      this.source.clear();
      this.markers = [];
    }
  }
};
</script>
<style scoped>
#map {
  width: 100%;
  height: 100vh;
}
</style>
主站蜘蛛池模板: 亚洲AV无码一区二区三区在线观看 | 2022年亚洲午夜一区二区福利| 无码人妻一区二区三区免费视频| 视频一区视频二区在线观看| 久久久久女教师免费一区| 成人精品视频一区二区三区| 一区二区乱子伦在线播放| 无码一区二区三区免费| 欧美激情一区二区三区成人| 亚洲A∨精品一区二区三区| 国精品无码一区二区三区在线| 久久精品岛国av一区二区无码| 2018高清国产一区二区三区| 变态调教一区二区三区| 无码精品人妻一区二区三区漫画| bt7086福利一区国产| 一区二区国产在线播放| 亚洲一区免费观看| 免费在线视频一区| 日韩av无码一区二区三区| 日韩AV片无码一区二区不卡| 丰满人妻一区二区三区免费视频 | 亚洲av不卡一区二区三区| 国产午夜精品一区二区三区极品 | 亚洲一区二区在线视频| 精品中文字幕一区二区三区四区| 久久久久久免费一区二区三区 | 精品视频在线观看你懂的一区| 亚洲国产综合精品中文第一区| 国产精品美女一区二区| 国产在线一区二区三区| 国产一区二区三区视频在线观看| 无码少妇一区二区| 国产精品一区二区久久沈樵| 亚洲午夜精品一区二区| 久久99久久无码毛片一区二区| 在线精品一区二区三区电影| 久久国产视频一区| 精品伦精品一区二区三区视频| 精品国产一区二区三区香蕉事 | 国产精品视频一区二区三区不卡|