日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

百度地图 圈出省份轮廓图并高亮

發(fā)布時間:2023/12/19 综合教程 26 生活家
生活随笔 收集整理的這篇文章主要介紹了 百度地图 圈出省份轮廓图并高亮 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
//描繪省份輪廓線
    addSCBorder:function () {
        var blist = [];

        /**
         * 添加行政區(qū)劃
         * @param {} districtName 行政區(qū)劃名
         * @returns  無返回值
         */
        function addDistrict(districtName) {
            var me = this;
            //使用計數(shù)器來控制加載過程
            //使用百度接口加載邊界經(jīng)緯度數(shù)據(jù)
            var bdary = new BMap.Boundary();
            bdary.get(districtName, function (rs) {       //獲取行政區(qū)域
                blist.push({points: rs.boundaries[0], name: districtName});
                drawBoundary();
            });
        }

        function drawBoundary() {
            //包含所有區(qū)域的點數(shù)組
            var pointArray = [];

            /*畫遮蔽層的相關(guān)方法
             *思路: 首先在中國地圖最外畫一圈,圈住理論上所有的中國領(lǐng)土,然后再將每個閉合區(qū)域合并進來,并全部連到西北角。
             *      這樣就做出了一個經(jīng)過多次西北角的閉合多邊形*/
            //定義中國東南西北端點,作為第一層
            var pNW = {lat: 59.0, lng: 73.0};
            var pNE = {lat: 59.0, lng: 136.0};
            var pSE = {lat: 3.0, lng: 136.0};
            var pSW = {lat: 3.0, lng: 73.0};
            //向數(shù)組中添加一次閉合多邊形,并將西北角再加一次作為之后畫閉合區(qū)域的起點
            var pArray = [];
            pArray.push(pNW);
            pArray.push(pSW);
            pArray.push(pSE);
            pArray.push(pNE);
            pArray.push(pNW);
            //循環(huán)添加各閉合區(qū)域
            //添加顯示用標(biāo)簽層
            var label = new BMap.Label(blist[0].name, {offset: new BMap.Size(20, -10)});
            label.hide();
            map.addOverlay(label);

            //添加多邊形層并顯示
            var ply = new BMap.Polygon(blist[0].points, {
                strokeWeight: 2,
                strokeColor: "#FF0000",
                fillOpacity: 0.01,
                fillColor: " #FFFFFF"
            }); //建立多邊形覆蓋物
            ply.name = blist[0].name;
            ply.label = label;
            ply.Type = "Border";
            map.addOverlay(ply);

            //將點增加到視野范圍內(nèi)
            var path = ply.getPath();
            pointArray = pointArray.concat(path);
            //將閉合區(qū)域加到遮蔽層上,每次添加完后要再加一次西北角作為下次添加的起點和最后一次的終點
            pArray = pArray.concat(path);
            pArray.push(pArray[0]);

            //限定顯示區(qū)域,需要引用api庫
            try {
                map.setViewport(pointArray);    //調(diào)整視野
            } catch (err) {
                console.log(err)
            }


            //添加遮蔽層
            var plyall = new BMap.Polygon(pArray, {
                strokeOpacity: 0.0000001,
                strokeColor: "#04121b",
                strokeWeight: 0.00001,
                fillColor: "#04121b",
                fillOpacity: 0.7
            }); //建立多邊形覆蓋物
            plyall.Type = "Border";
            map.addOverlay(plyall);

        }

        addDistrict("上海市浦東新區(qū)")
    }

總結(jié)

以上是生活随笔為你收集整理的百度地图 圈出省份轮廓图并高亮的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。