最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

openlayers4實現(xiàn)點動態(tài)擴散

 更新時間:2020年08月17日 15:34:15   作者:此愛如少年  
這篇文章主要為大家詳細介紹了openlayers4實現(xiàn)的點動態(tài)擴散,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了openlayers4實現(xiàn)的點動態(tài)擴散的具體代碼,供大家參考,具體內(nèi)容如下

原理:連續(xù)刷新地圖,并且刷新時,修過點樣式的半徑大小,來實現(xiàn)擴散效果;

//定義底圖
var baseLayer = new ol.layer.Vector({
 renderMode: 'image',
 source: new ol.source.Vector({
  url:'/data/shengjie.geojson',
  format: new ol.format.GeoJSON()
 }),
 style: new ol.style.Style({
  fill: new ol.style.Fill({
   color: '#0A122A'
  }),
  stroke: new ol.style.Stroke({
   color: '#6E6E6E',
   width: 1
  })
 })
})

var view = new ol.View({
 center: [108.7,34.8],
 zoom: 4,
 projection: "EPSG:4326"
});

var map = new ol.Map({
 target: 'map',
 view: view,
 layers: [baseLayer]
})


//定義一個矢量圖層,用于打點
var pointAnimationLayer = new ol.layer.Vector({
 source: new ol.source.Vector(),
 style: new ol.style.Style({
  image: new ol.style.Circle({
   fill: new ol.style.Fill({
    color: '#E6E6E6'
   }),
   radius: 4
  })
 })
})
map.addLayer(pointAnimationLayer);

//隨機寫的點坐標(biāo)
var points=[]
points.push([112.4,33.5]);
points.push([103.8,23.7]);
points.push([89.7,41.6]);

//將點添加到圖層
points.forEach(element => {
 var ft = new ol.Feature({
  geometry: new ol.geom.Point(element)
 });
 pointAnimationLayer.getSource().addFeature(ft);
});

//map渲染事件,回調(diào)動畫
map.on('postcompose',animation);

//樣式中的半徑變量,通過不斷刷新點樣式的半徑來實現(xiàn)點動態(tài)擴散
var radius = 1;

//動畫
function animation(event){
 if(radius >= 20){
  radius = 0
 }
 var opacity = (20 - radius) * (1 / 20) ;//不透明度
 var pointStyle = new ol.style.Style({
  image: new ol.style.Circle({
   radius:radius,
   stroke: new ol.style.Stroke({
    color: 'rgba(255,255,0' + opacity + ')',
    width: 2 - radius / 10
   })
  })
 })

 var features = pointAnimationLayer.getSource().getFeatures();
 
 var vectorContext = event.vectorContext;
 vectorContext.setStyle(pointStyle);
 features.forEach(element => {
  var geom = element.getGeometry();
  vectorContext.drawGeometry(geom);
 });
 radius = radius + 0.3;
 
 //觸發(fā)map的postcompose事件
 map.render();
}

實現(xiàn)

利用map的渲染事件:postcompose來連續(xù)刷新
之前實現(xiàn)地圖動畫都是用window.setInterval()方法來實現(xiàn),這次拓展下視野,采用Openlayers內(nèi)部的方法。主要有兩步操作:

1、事件注冊

map.on('postcompose',animation);

2、在事件的回調(diào)函數(shù)中去觸發(fā)postcompose事件

map.render();

postcompose事件第一次觸發(fā)是在地圖初始化時,后續(xù)的觸發(fā)都由animation方法中的map.render()來完成。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Bootstrap框架動態(tài)生成Web頁面文章內(nèi)目錄的方法

    Bootstrap框架動態(tài)生成Web頁面文章內(nèi)目錄的方法

    這篇文章主要介紹了Bootstrap框架動態(tài)生成Web頁面文章內(nèi)目錄的方法,利用Bootstrap中的Affix和ScrollSpy插件便可以實現(xiàn),需要的朋友可以參考下
    2016-05-05
  • Web性能優(yōu)化系列 10個提升JavaScript性能的技巧

    Web性能優(yōu)化系列 10個提升JavaScript性能的技巧

    Javascript 性能優(yōu)化絕不是一種書面的技術(shù),Nicholas 的技術(shù)演進列出了10條建議,幫助你寫出高效的 JS 代碼
    2016-09-09
  • 兼容IE和FF的圖片上傳前預(yù)覽js代碼

    兼容IE和FF的圖片上傳前預(yù)覽js代碼

    上傳前預(yù)覽使用js實現(xiàn)還是比較cool的,同時還可以兼容IE和FF的能做到這一點已經(jīng)相當(dāng)不容易了,下面與大家一起分享下具體的實現(xiàn),感興趣的你可不要錯過了哈
    2013-05-05
  • JavaScript惰性加載的優(yōu)化技巧詳解

    JavaScript惰性加載的優(yōu)化技巧詳解

    這篇文章主要為大家詳細介紹了JavaScript在進行惰性加載時的一些優(yōu)化技巧,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • javascript+HTML5 canvas繪制時鐘功能示例

    javascript+HTML5 canvas繪制時鐘功能示例

    這篇文章主要介紹了javascript+HTML5 canvas繪制時鐘功能,結(jié)合實例形式分析了javascript+HTML5 canvas數(shù)值運算、圖形繪制與時間顯示相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • eslint 的三大通用規(guī)則詳解

    eslint 的三大通用規(guī)則詳解

    這篇文章主要介紹了eslint 的三大通用規(guī)則詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • JavaScript中push(),join() 函數(shù) 實例詳解

    JavaScript中push(),join() 函數(shù) 實例詳解

    本文通過實例給大家介紹了JavaScript中push(),join() 的知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • 一文詳解JavaScript中this指向的問題

    一文詳解JavaScript中this指向的問題

    JavaScript中this指向的問題是面試中常常會問到的,所以本文就來通過一些簡單的示例為大家詳細講講,文中的示例代碼講解詳細,需要的可以參考一下
    2023-04-04
  • 原生JS實現(xiàn)煙花效果

    原生JS實現(xiàn)煙花效果

    這篇文章主要為大家詳細介紹了原生JS實現(xiàn)煙花效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JavaScript的各種常見函數(shù)定義方法

    JavaScript的各種常見函數(shù)定義方法

    這篇文章主要介紹了JavaScript的各種常見函數(shù)定義方法,包含了一些技巧的測試與分析總結(jié),需要的朋友可以參考下
    2014-09-09

最新評論

都匀市| 永新县| 庆阳市| 图片| 阳春市| 土默特左旗| 湖南省| 于都县| 奇台县| 乌兰浩特市| SHOW| 巴林左旗| 云安县| 什邡市| 容城县| 张北县| 灌南县| 漯河市| 长丰县| 济阳县| 江永县| 沁阳市| 福清市| 灵寿县| 古蔺县| 溧阳市| 双江| 泸西县| 邓州市| 手游| 云阳县| 武夷山市| 桐乡市| 和硕县| 庆元县| 蓬溪县| 玉环县| 聂荣县| 祁门县| 兴业县| 孟村|