openlayers4 入門開發(fā)系列之遷徙圖篇(附源碼下載)

前言

openlayers4 官網(wǎng)的 api 文檔介紹地址 openlayers4 api坐昙,里面詳細的介紹 openlayers4 各個類的介紹,還有就是在線例子:openlayers4 官網(wǎng)在線例子疾棵,這個也是學(xué)習 openlayers4 的好素材痹仙。

openlayers4 入門開發(fā)系列的地圖服務(wù)基于 Geoserver 發(fā)布的蝶溶,關(guān)于 Geoserver 方面操作的博客,可以參考以下幾篇文章:

內(nèi)容概覽

1.基于 openlayers4 實現(xiàn)地圖遷徙圖
2.源代碼 demo 下載

本篇的重點內(nèi)容是利用 openlayers4 實現(xiàn)遷徙圖功能,效果圖如下:


image

實現(xiàn)思路

  • 遷徙圖界面設(shè)計
//遷徙圖
         "<div style='height:25px;background:#30A4D5;margin-top:10px;width: 98%;margin-left: 3px;float: left;'>" +
              "<span style='margin-left:5px;font-size: 13px;color:white;'>遷徙圖</span>" +
         "</div>" +
        '<div id="moveEchartsLayer" style="padding:5px;float: left;">' +
             '<input type="checkbox" name="moveechartslayer" id="moveechartslayer1"  style="width: 15px;height: 15px;vertical-align: middle;margin: auto;"/>' +
             '<label style="font-weight: normal;vertical-align: middle;margin: auto;">遷徙圖</label>' +
'</div>'

  • 遷徙圖點擊事件
//遷徙圖
$("#moveEchartsLayer input").bind("click", function () {
            if (this.checked) {
                if(!bxmap.olEchartsLayer.isLoad){
                    bxmap.olEchartsLayer.Init(bmap);
                }else{
                    bxmap.olEchartsLayer.loadEchartsLayer();
                }
            }
            else {
                bxmap.olEchartsLayer.removeEchartsLayer();
            }
})

  • 遷徙圖模擬數(shù)據(jù)源
var move_option = {
        color: ["gold","aqua","lime"],
        tooltip : {
            trigger: "item",
            formatter: ""
        },
        toolbox: {
            show : false,
            orient : "vertical",
            x: "right",
            y: "center",
            feature : {
                mark : {show: true},
                dataView : {show: true, readOnly: false},
                restore : {show: true},
                saveAsImage : {show: true}
            }
        },
        dataRange: {
            show : false,
            min : 0,
            max : 100,
            calculable : true,
            color: ["#ff3333"],
            textStyle:{
                color:"#fff"
            }
        },
        series : [
            {
                name: "嘉善縣",
                type: "map",
                roam: true,
                hoverable: false,
                mapType: "none",
                itemStyle:{
                    normal:{
                        borderColor:"rgba(100,149,237,1)",
                        borderWidth:0.5,
                        areaStyle:{
                            color: "#1b1b1b"
                        }
                    }
                },
                data:[],
                markLine : {
                    smooth:true,
                    symbol: ["circle", "circle"],  
                    symbolSize : 1,
                    itemStyle : {
                        normal: {
                            color:"#fff",
                            borderWidth:1,
                            borderColor:"rgba(30,144,255,0.5)"
                        }
                    },
                    data : [                                                 
                        [{name:"海寧市"},{name:"嘉善縣"}],
                        [{name:"南湖區(qū)"},{name:"嘉善縣"}],
                        [{name:"秀洲區(qū)"},{name:"嘉善縣"}],
                        [{name:"海鹽縣"},{name:"嘉善縣"}],
                        [{name:"平湖市"},{name:"嘉善縣"}],
                        [{name:"嘉善縣"},{name:"嘉善縣"}]

                    ],
                },
                geoCoord: {                                        
                    "海寧市": [120.492, 30.4186],
                    "南湖區(qū)": [120.84, 30.8224],
                    "秀洲區(qū)": [120.805, 30.9241],
                    "海鹽縣": [121.043, 30.7042],
                    "平湖市": [120.835, 30.529],
                    "桐鄉(xiāng)市": [120.476, 30.6122],
                    "嘉善縣":[120.994, 30.8826]
                }
            },

            {
                name: "粵港澳 Top10",
                type: "map",
                mapType: "none",
                data:[],
                markLine : {
                    smooth:true,
                    effect : {
                        show: true,
                        scaleSize: 1,
                        period: 30,
                        color: "#fff",
                        shadowBlur: 10
                    },
                    itemStyle : {
                        normal: {
                            borderWidth:1,
                            lineStyle: {
                                type: "solid",
                                shadowBlur: 10
                            }
                        }
                    },
                    data : [                        
                         [{name:"南湖區(qū)"}, {name:"嘉善縣"}],
                            [{name:"秀洲區(qū)"}, {name:"嘉善縣"}],
                            [{name:"海鹽縣"}, {name:"嘉善縣"}],
                            [{name:"平湖市"}, {name:"嘉善縣"}],
                            [{name:"海寧市"}, {name:"嘉善縣"}],
                            [{name:"桐鄉(xiāng)市"}, {name:"嘉善縣"}]
                    ]
                },
                markPoint : {
                    symbol:"emptyCircle",
                    symbolSize : function (v){
                        return 10 + v/10
                    },
                    effect : {
                        show: true,
                        shadowBlur : 0
                    },
                    itemStyle:{
                        normal:{
                            label:{show:false},
                            color: '#f4e925',
                            shadowBlur: 10,
                            shadowColor: '#333'
                        },
                        emphasis: {
                            label:{position:"top"}
                        }
                    },
                    data : [                        
                        {name:"海寧市",value:25},
                        {name:"南湖區(qū)",value:60},
                        {name:"秀洲區(qū)",value:95},
                        {name:"海鹽縣",value:120},
                        {name:"平湖市",value:105},
                        {name:"桐鄉(xiāng)市",value:70}                        

                    ]
                }
            }

        ]
    };

  • 遷徙圖初始化以及核心代碼實現(xiàn)
var bxmap = bxmap || {};
bxmap.olEchartsLayer = {
    map:null,
    isLoad:false,
    olMapExt:null,
    Init:function(bmap){
        this.map = bmap.getMap();
        this.isLoad = true;
        //加載移動流向圖效果
        this.loadEchartsLayer();
    },

更多的詳情見GIS之家小專欄
文章尾部提供源代碼下載弦悉,對本專欄感興趣的話稽莉,可以關(guān)注一波

GIS之家作品:GIS之家
GIS之家源碼咨詢:咨詢模式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末污秆,一起剝皮案震驚了整個濱河市昧甘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌庸推,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刮吧,死亡現(xiàn)場離奇詭異杀捻,居然都是意外死亡蚓庭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門垢袱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來请契,“玉大人夏醉,你說我怎么就攤上這事÷纫模” “怎么了靶擦?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵玄捕,是天一觀的道長。 經(jīng)常有香客問我馅闽,道長赌结,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任拟杉,我火速辦了婚禮搬设,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘拿穴。我一直安慰自己,他們只是感情好球凰,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布呕诉。 她就那樣靜靜地躺著吃度,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伊者。 梳的紋絲不亂的頭發(fā)上间护,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音央碟,去河邊找鬼均函。 笑死菱涤,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的粘秆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼殷勘,長吁一口氣:“原來是場噩夢啊……” “哼玲销!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起贤斜,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎猴抹,沒想到半個月后锁荔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡跋理,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年薪介,在試婚紗的時候發(fā)現(xiàn)自己被綠了越驻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡记劈,死狀恐怖并巍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刽射,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布誓禁,位于F島的核電站摹恰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏俗慈。R本人自食惡果不足惜遣耍,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一配阵、第九天 我趴在偏房一處隱蔽的房頂上張望示血。 院中可真熱鬧救拉,春花似錦、人聲如沸告喊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秆吵。三九已至五慈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泻拦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工腋粥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留架曹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓对嚼,卻偏偏與公主長得像绳慎,于是被迫代替她去往敵國和親漠烧。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容