真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

OpenLayers 點(diǎn)擊顯示經(jīng)緯度Demo

這里給大家分享我在OpenLayers地圖開(kāi)發(fā)工作中總結(jié)出的一下代碼和注意點(diǎn),希望對(duì)大家有所幫助

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),秀嶼企業(yè)網(wǎng)站建設(shè),秀嶼品牌網(wǎng)站建設(shè),網(wǎng)站定制,秀嶼網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,秀嶼網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

效果如下:

核心代碼展示:附帶講解注釋

 var map = new ol.Map({ // 初始化地圖
            target: 'map',// 選擇地圖對(duì)象
            layers: [
                new ol.layer.Tile({// 初始化Tile外部圖層
                    source: new ol.source.XYZ({// 初始化XYZ切片服務(wù)圖層
                        url:
                            'http://map.geoq.cn/ArcGIS/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}', // XYZ切片服務(wù)地址
                        wrapX: false
                    })
                }),
                new ol.layer.Tile({// 初始化Tile外部圖層
                    source: new ol.source.XYZ({// 初始化XYZ切片服務(wù)圖層
                        url:
                            'http://t{0-7}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=5d27dc75ca0c3bdf34f657ffe1e9881d',// XYZ切片服務(wù)地址
                        wrapX: false
                    })
                })
            ],
            view: new ol.View({ 
                projection: 'EPSG:4326', //設(shè)置地圖坐標(biāo)系
                center: [113.87, 22.691],//設(shè)置地圖中心點(diǎn)
                zoom: 12//設(shè)置地圖層級(jí)
            }),
        });
        const BGLayer = new ol.layer.Tile({// 初始化Tile外部圖層
            source: new ol.source.XYZ({// 初始化XYZ切片服務(wù)圖層
                url: 'http://t{0-7}.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=5d27dc75ca0c3bdf34f657ffe1e9881d',// XYZ切片服務(wù)地址
                wrapX: false
            })
        })
        BGLayer.setVisible(false) //設(shè)置圖層顯示隱藏
        map.addLayer(BGLayer)//添加圖層
        //實(shí)例化矢量點(diǎn)要素,通過(guò)矢量圖層添加到地圖容器中
        //這樣就實(shí)現(xiàn)了預(yù)先加載圖文標(biāo)注
        var iconFeature = new ol.Feature();
        //設(shè)置點(diǎn)要素樣式
        iconFeature.setStyle(createLabelStyle(iconFeature));
        //矢量標(biāo)注的數(shù)據(jù)源
        var vectorSource = new ol.source.Vector({
            features: [iconFeature]
        });
        //矢量標(biāo)注圖層
        var vectorLayer = new ol.layer.Vector({
            source: vectorSource
        });
        map.addLayer(vectorLayer);
        //矢量標(biāo)注樣式設(shè)置函數(shù),設(shè)置image為圖標(biāo)ol.style.Icon
        function createLabelStyle(feature) {
            return new ol.style.Style({
                image: new ol.style.Icon({
                    anchor: [40, 42],
                    scale: 0.5, // 圖標(biāo)縮小顯示
                    anchorOrigin: 'top-right', // 標(biāo)注樣式的起點(diǎn)位置
                    anchorXUnits: 'pixels', // X方向單位:分?jǐn)?shù)
                    anchorYUnits: 'pixels', // Y方向單位:像素
                    offsetOrigin: 'bottom-left', // 偏移起點(diǎn)位置的方向
                    opacity: 1, // 透明度
                    src: 'dian.png'  //圖標(biāo)的URL
                }),
                text: new ol.style.Text({
                    textAlign: 'center',            //位置
                    textBaseline: 'middle',         //基準(zhǔn)線
                    font: 'normal 14px 微軟雅黑',    //文字樣式
                    fill: new ol.style.Fill({       //文本填充樣式(即文字顏色)
                        color: '#000'
                    }),
                    stroke: new ol.style.Stroke({
                        color: '#F00',
                        width: 2
                    })
                })
            });
        }
        var newFeature = new ol.Feature({
            geometry: new ol.geom.Point([0,0])  //幾何信息
        });
        newFeature.setStyle(createLabelStyle(newFeature));      //設(shè)置要素樣式
        vectorSource.addFeature(newFeature);
        map.on('click', function (evt) {
            var coordinate = evt.coordinate;        //鼠標(biāo)單擊點(diǎn)的坐標(biāo)
            //新建一個(gè)要素ol.Feature
            newFeature.set('geometry',new ol.geom.Point(coordinate))
            document.getElementsByClassName("list-box")[0].innerHTML = '

經(jīng)度:' + coordinate[0].toFixed(3) + ' 緯度:' + coordinate[1].toFixed(3) + '

' }); map.on('moveend', function (evt) { if (map.getView().getZoom() >= 16) { BGLayer.setVisible(true) } else { BGLayer.setVisible(false) } })

文章標(biāo)題:OpenLayers 點(diǎn)擊顯示經(jīng)緯度Demo
分享地址:http://weahome.cn/article/dsojpdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部