高德地圖行政區域划分


高德官方的demo

 addBeiJing();
    function addBeiJing() {
        //加載行政區划插件
        AMap.service('AMap.DistrictSearch', function() {
            var opts = {
                subdistrict: 1,   //返回下一級行政區
                extensions: 'all',  //返回行政區邊界坐標組等具體信息
                level: 'city'  //查詢行政級別為 市
            };
            //實例化DistrictSearch
            district = new AMap.DistrictSearch(opts);
            district.setLevel('district');
            //行政區查詢
            district.search('朝陽區', function(status, result) {
                var bounds = result.districtList[0].boundaries;
                var polygons = [];
                if (bounds) {
                    for (var i = 0, l = bounds.length; i < l; i++) {
                        //生成行政區划polygon
                        var polygon = new AMap.Polygon({
                            map: map,
                            strokeWeight: 1,
                            path: bounds[i],
                            fillOpacity: 0.7,
                            fillColor: '#CCF3FF',
                            strokeColor: '#CC66CC'
                        });
                        polygons.push(polygon);
                    }
                    map.setFitView();//地圖自適應
                }
            });
        });
    }

把行政區和區塊的顏色重新封裝一下

addshanghai('徐匯區',"#ccc")
addshanghai("虹口區","#e4393c")
addshanghai("浦東新區","#cc66ff")
addshanghai("靜安區","#FD9A4E")
  function addshanghai(area,color) {
        //加載行政區划插件
        AMap.service('AMap.DistrictSearch', function() {
            var opts = {
                subdistrict: 1,   //返回下一級行政區
                extensions: 'all',  //返回行政區邊界坐標組等具體信息
                level: 'city'  //查詢行政級別為 市
            };
            //實例化DistrictSearch
            district = new AMap.DistrictSearch(opts);
            district.setLevel('district');
            //行政區查詢
            district.search(area, function(status, result) {
                var bounds = result.districtList[0].boundaries;
                var polygons = [];
                if (bounds) {
                    for (var i = 0, l = bounds.length; i < l; i++) {
                        //生成行政區划polygon
                        var polygon = new AMap.Polygon({
                            map: map,
                            strokeWeight: 1,
                            path: bounds[i],
                            fillOpacity: 0.7,
                            fillColor:color,
                            strokeColor: '#CC66CC'
                        });
                        polygons.push(polygon);
                    }
                    map.setFitView();//地圖自適應
                }
            });
        });
    }

效果圖:

想要什么樣的行政區域,直接調用函數傳參就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM