openlayers3线段添加闪烁_openlayers 添加标记点击弹窗 定位图标闪烁

这篇博客介绍了如何在Vue3环境中利用OpenLayers3创建闪烁的图标标记和点击弹窗。通过设置矢量标注样式,实现图标闪烁效果,并在地图上随机分布多个标注。同时,实现了地图的点击事件,显示弹出层展示点击坐标。此外,还提供了定位图标显示及动画效果。
摘要由CSDN通过智能技术生成

环境vue3.0 ,地图为公用组件,将添加图标标记的方法放在公共地图的初始化方法里

同一时间弹窗和定位标识都只有一个,因而我把弹窗和定位标记的dom预先写好放到了页面

//矢量标注样式设置函数,设置image为图标ol.style.Icon

function createLabelStyle(feature, icon, scale, opacity) {

return (new ol.style.Style({

image: new ol.style.Icon({

opacity: opacity,

src: icon,

scale: scale // 标注图标大小

}),

text: new ol.style.Text({

textAlign: "center", // 位置

textBaseline: "middle", // 基准线

font: "normal 12px 微软雅黑", // 文字样式

text: feature.get("name"),

fill: new ol.style.Fill({

// 文本填充样式(即文字颜色)

color: "#333"

}),

stroke: new ol.style.Stroke({

color: "#Fff",

width: 1

})

})

}));

}

// 添加标注

function draw(arr, icon, scale, opacity) {

var me = this;

/*********************显示地标**************************/

// 设置标识范围

var maxX = 99;

var minX = 78;

var maxY = 36;

var minY = 26;

//创建空的矢量容器

var vectorSource = new ol.source.Vector({});

// 设置要素点

for (let i = 1; i <= arr.length; i++) {

let t1 = Math.random() * (maxX - minX + 1) + minX;

let t2 = Math.random() * (maxY - minY + 1) + minY;

//创建图标特性

var iconFeature = new ol.Feature({

geometry: new ol.geom.Point([t1, t2], "XY"),

name:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值