OpenLayers簡(jiǎn)單使用

鼠標(biāo)移動(dòng)變色和顯示標(biāo)注查看官方樣式

樣式

var style = new ol.style.Style({// 起始樣式
            fill : new ol.style.Fill({// 填充要素樣式
                color : '#B4FCD1'
            }),
            stroke : new ol.style.Stroke({// 邊界樣色
                color : '#F5F5F5',
                width : 2
            }),
            text : new ol.style.Text({// 字體樣色
                font : '14px Calibri, 黑體',
                fill : new ol.style.Fill({
                    color : 'black'
                })
            })
        });
        
        var vectorLayer = new ol.layer.Vector({//地圖-填充顏色字體等樣式
            source : new ol.source.Vector({
                features : (new ol.format.GeoJSON()).readFeatures(res, {// 用readFeatures方法可以自定義坐標(biāo)系
                    dataProjection : 'EPSG:4326', // 設(shè)定JSON數(shù)據(jù)使用的坐標(biāo)系
                    featureProjection : 'EPSG:3857' // 設(shè)定當(dāng)前地圖使用的feature的坐標(biāo)系
                })
            }),
            // 樣式設(shè)置
            style : function(feature) {
                style.getText().setText(feature.get('cn'));// 顯示名稱
                style.getFill().setColor(colour);// 顯示顏色
            } 
            return style;
            }
        });

圖標(biāo)

//圖標(biāo)設(shè)置
        var iconArr = [];
            for(var i = 0; i < map.features.length; i++){
                var arr = map.features[i].properties.wafotown;
                if (arr != null && arr.length > 0) {
                    var lon = parseFloat(map.features[i].properties.center_x);//經(jīng)度
                    var lat = parseFloat(map.features[i].properties.center_y);//緯度
                    var rome = new ol.Feature({
                        name:cn,
                        geometry:new ol.geom.Point(new ol.proj.fromLonLat([lon,lat],'EPSG:3857'))
                    });
                    //標(biāo)注樣式設(shè)置
                    rome.setStyle(new ol.style.Style({
                        text: new ol.style.Text({
                            textAlign: 'center',            //位置-對(duì)齊方式
                            textBaseline: 'middle',         //基準(zhǔn)線
                            font: '16px Calibri, 黑體',       //文字樣式
                            text: cn,                       //文本內(nèi)容
                            fill: new ol.style.Fill({       //文本填充樣式(即文字顏色)
                                color: 'black'
                            }),
                            stroke: new ol.style.Stroke({
                                color: 'white', 
                                width: 1.5
                            })
                        }),
                        image: new ol.style.Icon({
                            anchor: [0.5, -10],             //錨點(diǎn)-控制標(biāo)注圖片和文字之間的距離([0]:x軸0.5中心;[1]y軸:0頂部)
                            anchorOrigin:'top-right',       //錨點(diǎn)源-標(biāo)注樣式的起點(diǎn)位置
                            anchorXUnits: 'fraction',       //錨點(diǎn)X值單位(單位:分?jǐn)?shù))
                            anchorYUnits: 'pixels',         //錨點(diǎn)Y值單位(單位:像素)
                            offsetOrigin: 'top-right',      //偏移原點(diǎn)-偏移起點(diǎn)位置的方向
                            //opacity: 0.1,                 //圖標(biāo)透明度
                            crossOrigin: 'anonymous',
                            scale: 0.3,                     //標(biāo)注圖標(biāo)大小         
                            src: "image/warn/"+code+".png"
                        })
                    }));
                    iconArr.push(rome);   
                }
            }
        }
        var IconLayer = new ol.layer.Vector({
            source: new ol.source.Vector({
                features: iconArr
            }),
        });

地圖加載

var map = new ol.Map({
            layers : [ vectorLayer, IconLayer ],
            target : 'wafotown_map',
            view : new ol.View({
                center : center,    // 中心坐標(biāo)x軸y軸
                extent : extent,    // 地圖范圍left, bottom, right, top
                maxZoom : zoom[0],  // 最大縮放級(jí)別
                minZoom : zoom[1],  // 最小縮放級(jí)別
                zoom : zoom[2]      // 當(dāng)前縮放級(jí)別
            })
        });

禁止移動(dòng)地圖

// 禁止鼠標(biāo)拖動(dòng)  
        let pan = getPan();
        pan.setActive(false);//false:當(dāng)前地圖不可拖動(dòng)屿愚。true:可拖動(dòng)
        function getPan() {
            let pan;
            map.getInteractions().forEach(function(element, index, array) {
                if(element instanceof ol.interaction.DragPan) {
                    pan = element;
                }
            })
            return pan;
        }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末比原,一起剝皮案震驚了整個(gè)濱河市屡贺,隨后出現(xiàn)的幾起案子幸乒,更是在濱河造成了極大的恐慌嬉橙,老刑警劉巖纽谒,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桐绒,死亡現(xiàn)場(chǎng)離奇詭異遂唧,居然都是意外死亡芙代,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門盖彭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)纹烹,“玉大人,你說(shuō)我怎么就攤上這事谬泌√显希” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵掌实,是天一觀的道長(zhǎng)陪蜻。 經(jīng)常有香客問(wèn)我,道長(zhǎng)贱鼻,這世上最難降的妖魔是什么宴卖? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮邻悬,結(jié)果婚禮上症昏,老公的妹妹穿的比我還像新娘。我一直安慰自己父丰,他們只是感情好肝谭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蛾扇,像睡著了一般攘烛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镀首,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天坟漱,我揣著相機(jī)與錄音,去河邊找鬼更哄。 笑死芋齿,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的成翩。 我是一名探鬼主播觅捆,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼捕传!你這毒婦竟也來(lái)了惠拭?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎职辅,沒(méi)想到半個(gè)月后棒呛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡域携,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年簇秒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片秀鞭。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡趋观,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锋边,到底是詐尸還是另有隱情皱坛,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布豆巨,位于F島的核電站剩辟,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏往扔。R本人自食惡果不足惜贩猎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望萍膛。 院中可真熱鬧吭服,春花似錦、人聲如沸蝗罗。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)串塑。三九已至欠肾,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間拟赊,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工粹淋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吸祟,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓桃移,卻偏偏與公主長(zhǎng)得像屋匕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子借杰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

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

  • 從沅湘文化到湖湘文化 我們研究过吻、宣傳、交流湖湘文化,長(zhǎng)期忽視了沅湘文化這一個(gè)重要的文化名稱纤虽,造成了沅澧區(qū)域文化研究...
    楊斌ymg閱讀 615評(píng)論 0 1
  • 差不多冬至乳绕,一早一晚還是有雨。 向之宜裹緊身上的外套逼纸,順手把帽子帶上向雨夜走去洋措。向之疑秋冬的衣服是必須有個(gè)帽子的,...
    FogGerz閱讀 161評(píng)論 0 0
  • 當(dāng)年杰刽,綦江縣高青公社新設(shè)大隊(duì)支部書(shū)記冉萬(wàn)銀的丈人家菠发,在貴州八字橋。 1959年贺嫂,那邊餓飯滓鸠,餓死了好多人。 冉書(shū)記的...
    簡(jiǎn)映竹閱讀 334評(píng)論 2 5
  • 一個(gè)偶然的機(jī)會(huì),第一次付費(fèi)的學(xué)習(xí)墩弯,本來(lái)“貪便宜”的我卻沒(méi)想到僅僅9元為我打開(kāi)了一扇知識(shí)的大門和優(yōu)秀的圈子吩跋,...
    白色溫暖_cd23閱讀 729評(píng)論 0 13