如何用css3做openLayers3的閃爍效果

2021-08-28 11:13:52 字數 1476 閱讀 3505

最近在做地圖上的乙個故障指示器,  要求有故障時,此指示器會呈現不同的展現樣式, 用閃爍最好了!

但openlayers3中沒有閃爍的效果,所以就借助css3的動畫效果了,反正openlayers3也是使用了h5+css的,它們通用。

最終的效果是:

第一步:

在你的地圖html檔案中加乙個div:

就這麼一條哦!不要懷疑呢!

第二步:給這個div寫css3的樣式

這兩步做好後,你用chrom和360瀏覽器瀏覽應該有乙個紅色的擴散的效果,如果沒有,你要換瀏覽器了。

如何把它弄到地圖上去呢?只需要

var point_div = document.getelementbyid("css_animation");

var point_overlay = new ol.overlay();

map.addoverlay(point_overlay);

point_overlay.setposition([114.04911, 30.32815833]);

就可以了。

解釋這段**:首先,var point_div = document.getelementbyid("css_animation");獲得具有動畫效果的html元素;然後將其賦予 overlay 的element引數,overlay 還有乙個引數是positioning: 'center-center',表示 html 元素相對於 overlay 的定位點的方位,」center-center」 表示元素中心對準定位點中心;最後map.addoverlay(point_overlay);將 overlay 新增到地圖中,此時的 overlay 是不可見的,最後一行:point_overlay.setposition([11468382.41282299,3502038.887913635]);設定了 overlay 可見元素(也就是具有動畫的元素)的位置,這樣動畫元素就設定到相應的點了。

這樣,我們就實現了原來文章開頭的效果。

學到了什麼呢? 學到了openlayers3地圖與h5+css3相結合的辦法:如果想把h5和css的效果與地圖相結合,可以那麼,可以先做好html元素的效果,然後,用地圖上的什麼東西,把它當成乙個element加入進去,它就進入了地圖了。呵呵!

我們把html的dom加到openlayers以後又需要刪除,該怎麼刪除呢?

openlayers已經給我們提供好引數了,通過getoverlays()可以獲取到map上的所有overlays **如下

map.getoverlays().clear();
此文**於:的實踐成功!

如何用CSS3製作出風琴效果

如何用css3製作出風琴效果 開發工具與關鍵技術 html一開始我以為製作風琴效果需要用到js,但用css3動畫也能實現,如下圖 一開始是這樣,然後通過風琴效果變成如下圖 首先這上面基本的css樣式就不多說了,一開始就是內容部分先隱藏起來,然後通過css3動畫鮮果再將內容部分呈現出來,這樣乙個簡單的...

如何用css3製作立方體

用css3製作立方體步驟 具體實現 千峰逆戰2004學員完成演示效果 因為是製作立方體,所以我們要給自定義大小的盒子新增3d屬性 transform style preserve 3d 這樣我們當 執行的時候才會在我們眼前顯示3d的效果,完後是新增景深,也就是目標位置距離我們眼睛間的距離,模仿實際看...

如何用html與css3來實現slider切換效果

最近在學習html與cs經過一段時間的學習,感到cs實在是太強大了 一下是用純html與cs實現的slider切換效果 html結構的 description1 description2 description3 description4 description5 cs結構的 charset utf...