// 效果图
// 地图的map对象就不写了
ol.source.Vector,提供矢量图层数据,继承自 ol.source.Source
import VectorSource from "ol/source/Vector"
let featuresSource = VectorSource() // 矢量地图
//从后端拿回数据是wkt串 例: "Point(112, 42)"
let imgUrl = require('@/assets/img/斜坡.png') // 图片地址
let pointXY = "Point(112, 42)" // wkt串
// openLayer的feature对象
let feature = {
'attributes': {
'biaozhu_id': '1' // 图片的id,不建议写死
},
'style': {
'imagescale': 0.5,
'imagesrc': imgUrl
},
'geometry': pointXY
}
// 此时就需要把wkt串转换为feature
import WKT from "ol/format/WKT"; // 引入依赖
var featureTemp = this.transformFeatureFromWkt(feature.geometry);
// 接下来在将上方feature的属性和style样式进行赋值
featureTemp.setStyle(style);
featureTemp.attributes = feature.attributes;
featuresSource.addFeature(featureTemp); // 添加到地图
// wkt转换为feature的方法
transformFeatureFromWkt: function(wkt){
var format = new WKT();
var feature = format.readFeature(wkt, {
dataProjection: 'EPSG:4326',
featureProjection: 'EPSG:4326'
});
return feature;
}