openlayers 显示闪烁的图标点

  

思路:需要在html代码生成N个要闪烁的点通过遍历生成html代码 ,然后再通过坐标定位点到相应的位置

$("#map").append("<div id='css_animation" + i + "' ><span class='pulse-icon1' style='background-color: #d0639c;z-index:9999999'><span class='item' style='box-shadow: 0 0 5px 2px #2f8'></span></span><div>");

 

                    var point_div = document.getElementById("css_animation" + i);

                    var point_overlay = new ol.Overlay({

                        element: point_div,

                        positioning: 'center-center'

                    });

                    map.addOverlay(point_overlay);

                    point_overlay.setPosition(p);

 

样式文件

.pulse-icon1 {

  1. display: inline-block;
  2. width: 15px;
  3. height: 15px;
  4. border-radius: 100%;
  5. background-color: red;
  6. z-index: 999999;
  7. position: relative;
  8. box-shadow: 1px 1px 8px 0 rgba(0, 0, 0, 0.75);

}

.item {

  1. box-shadow: 0 0 6px 2px #2f8;
  2. animation: pulsate 1s ease-out;
  3. animation-iteration-count: infinite;
  4. animation-delay: 1.1s;
  5. -webkit-border-radius: 100%;
  6. border-radius: 100%;
  7. height: 300%;
  8. width: 300%;
  9. animation: pulsate 2s infinite;
  10. position: absolute;
  11. margin: -100% 0 0 -100%;

}

 

效果

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenLayers是一个开源的JavaScript库,用于在Web地图上显示、线和面等地理要素。它提供了丰富的功能和交互性,可以轻松地创建交互式地图应用程序。 要在OpenLayers显示、线和面,你需要以下几个步骤: 1. 创建地图容器:在HTML页面中创建一个用于显示地图的容器元素,例如一个div元素。 2. 初始化地图对象:使用OpenLayers的Map类初始化一个地图对象,并将其绑定到地图容器上。 3. 添加图层:创建一个或多个图层对象,并将其添加到地图对象中。可以使用OpenLayers提供的不同类型的图层,如TileLayer(瓦片图层)或VectorLayer(矢量图层)。 4. 创建要素:根据需要创建、线和面等地理要素对象。可以使用OpenLayers的Feature类来创建这些要素,并设置它们的几何形状、样式和属性等信息。 5. 添加要素到图层:将创建的要素对象添加到对应的图层中。可以使用图层的addFeatures方法将要素添加到图层中。 6. 渲染地图:调用地图对象的render方法,将地图渲染到指定的容器中。 下面是一个简单的示例代码,展示如何在OpenLayers显示、线和面: ```javascript // 创建地图容器 var mapContainer = document.getElementById('map'); // 初始化地图对象 var map = new ol.Map({ target: mapContainer, layers: [ // 添加图层 new ol.layer.Tile({ source: new ol.source.OSM() // 使用OpenStreetMap作为底图 }) ], view: new ol.View({ center: ol.proj.fromLonLat([0, 0]), // 设置地图中心 zoom: 10 // 设置地图缩放级别 }) }); // 创建要素 var pointFeature = new ol.Feature({ geometry: new ol.geom.Point(ol.proj.fromLonLat([10, 10])), // 设置的坐标 name: 'Point' // 设置的属性 }); // 创建线要素 var lineFeature = new ol.Feature({ geometry: new ol.geom.LineString([ ol.proj.fromLonLat([20, 20]), ol.proj.fromLonLat([30, 30]) ]), // 设置线的坐标 name: 'Line' // 设置线的属性 }); // 创建面要素 var polygonFeature = new ol.Feature({ geometry: new ol.geom.Polygon([ [ ol.proj.fromLonLat([40, 40]), ol.proj.fromLonLat([50, 40]), ol.proj.fromLonLat([50, 50]), ol.proj.fromLonLat([40, 50]), ol.proj.fromLonLat([40, 40]) ] ]), // 设置面的坐标 name: 'Polygon' // 设置面的属性 }); // 创建矢量图层 var vectorLayer = new ol.layer.Vector({ source: new ol.source.Vector(), // 创建一个空的矢量数据源 style: new ol.style.Style({ // 设置要素的样式 image: new ol.style.Circle({ radius: 6, fill: new ol.style.Fill({ color: 'red' }), stroke: new ol.style.Stroke({ color: 'white', width: 2 }) }), stroke: new ol.style.Stroke({ color: 'blue', width: 2 }), fill: new ol.style.Fill({ color: 'rgba(0, 0, 255, 0.1)' }) }) }); // 将要素添加到矢量图层 vectorLayer.getSource().addFeatures([pointFeature, lineFeature, polygonFeature]); // 将矢量图层添加到地图 map.addLayer(vectorLayer); // 渲染地图 map.render(); ``` 这是一个简单的示例,你可以根据自己的需求进行更复杂的配置和样式设置。希望对你有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值