openlayers3线段添加闪烁_Openlayers如何实现点闪烁扩散效果 Openlayers实现点闪烁扩散效果代码...

Openlayers如何实现点闪烁扩散效果?本篇文章小编给大家分享一下Openlayers实现点闪烁扩散效果代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

点闪烁样式:

DOM的样式实现

/**橙色点扩散闪烁样式*/

.point_animation{

background: #ff9900;

width: 6px;

height: 6px;

border: 2px #ff9900 solid;

border-radius: 50%;

position: absolute;

}

.point_animation p, .point_animation span{

position: absolute;

width: 4px;

height: 4px;

animation: point_animation 1.5s infinite;

box-shadow: 0px 0px 1px #ff9900;

margin: 0px;

border-radius: 50%;

}

.point_animation span{

animation-delay: 0.8s;

}

@keyframes point_animation{

10% {

transform: scale(1);

}

100% {

transform: scale(8);

}

}

/**红色点扩散闪烁样式*/

.css_animation{

height:50px;

width:50px;

border-radius: 25px;

background: rgba(255, 0, 0, 0.9);

transform: scale(0);

animation: mypoint 3s;

animation-iteration-count: infinite;

}

@keyframes mypoint{

to{

transform: scale(1.5);

background: rgba(0, 0, 0, 0);

}

}

在地图上添加点—采用overlay添加DOM元素

需要用到Openlayers中的overlay元素,官方对于如何使用overlay做出了相关API说明

///创建overlay,element传入的是存在于web中的DOM元素

var popup = new ol.Overlay({

element: document.getElementById('popup')

});

popup.setPosition(coordinate);//设置overlay的位置

map.addOverlay(popup);//讲overlay添加到地图上

具体代码

点扩散

var baseLayer = new ol.layer.Tile({

source: new ol.source.XYZ({

url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}",

}),

});

var map = new ol.Map({

layers: [baseLayer],

view: new ol.View({

center: [104.5602,32.4070],

projection: 'EPSG:4326',

zoom: 4,

extent: [-180, -90, 180, 90]

}),

target: "container",

interactions:ol.interaction.defaults({

doubleClickZoom: false

}),

controls:ol.control.defaults({

zoom:false,

attribution: false,

}),

});

setFlashPoint()

function setFlashPoint(){

//第一种样式

var element = document.createElement("div");

element.className = "point_animation";

var p = document.createElement("p");

var span = document.createElement("span");

element.appendChild(p);

element.appendChild(span);

var point_overlay = new ol.Overlay({

element: element,

positioning: 'center-center',

});

map.addOverlay(point_overlay);

point_overlay.setPosition([120,30]);

//第二种样式

var ele = document.createElement("div");

ele.className = "css_animation";

var point_overlay2 = new ol.Overlay({

element: ele,

positioning: 'center-center',

});

map.addOverlay(point_overlay2);

point_overlay2.setPosition([110,30]);

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值