1. 程式人生 > 程式設計 >Vue+Openlayer中使用select選擇要素的實現程式碼

Vue+Openlayer中使用select選擇要素的實現程式碼

效果圖:

Vue+Openlayer中使用select選擇要素的實現程式碼Vue+Openlayer中使用select選擇要素的實現程式碼

實現程式碼:

<template>
  <div id="map" ref="map" style="width: 100vw; height: 100vh"></div>
</template>
 
<script>
import "ol/ol.";
import { Map,View } from "ol";
import { OSM,Vector as VectorSource } from "ol/source";
import { Vector as VectorLayer,Tile as TileLayer } from "ol/layer";
import GeoON from "ol/format/GeoJSON";
 
import Select from "ol/interaction/Select";
import { altKeyOnly,click,pointerMove } from "ol/events/condithttp://www.cppcns.com
ion"; export default { name: "gif",data() { return { map: {},layer: {},geojsonData: { type: "FeatureCollection",features: [ { type: "Feature",properties: { title: "警報1",},geometry: { type: "Point",coordinates: [91.48879670091165,37.83814884701121],{ type: "Feature",properties: { title: "警報2",geometry: { type: "Point",coordinates: [99.19515576149941,26.713646654711134],properties: { title: "警報3",coordinates: [123.74363825288785,44.363694825734726],],select: {},}; },mounted() { this.initMap(); },methods: {http://www.cppcns.com
// 初始化地圖 initMap() { this.layer = new VectorLayer({ source: new VectorSource({ features: new GeoJSON().readFeatures(this.geojsonData), }),}); this.map = new Map({ target: "map",layers: [ new TileLayer({ source: new OSM(),}),this.layer,view: new View({ projection: "EPSG
:4326",center: [104.912777,34.730746],zoom: 4.5,}); this.select = new Select({ condition: click,//單擊選擇 }); this.map.addInteraction(this.select); this.select.on("select",(e) => { let coordinate = e.mapBrowserEvent.coordinate; //獲取選擇的座標 let properties = e.selected[0].getProperties(); //獲取當前要素的所有屬性 }); // 設定滑鼠劃過向量要素的樣式 this.map.on("pointermove",(e) => { const isHover = this.map.hasFeatureAtPixel(e.pixel); this.map.getTargetElement().style.cursor = isHover ? "pointer" : ""; }); },}; </script>

到此這篇關於+Openlayer中使用select選擇要素的實現程式碼的文章就介紹到這了,更多相關Vue Openlayer選擇要素內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!