【高德地圖API】如何獲得行政區域?如何製作行政規劃圖?

酸奶小妹發表於2014-06-03

什麼是行政規劃圖?如何獲得每個行政區域的邊界輪廓圖?舉例:重慶市 江北區。如圖:

 

官方類參考:http://developer.amap.com/javascript/reference/search#Partition

 

行政規劃程式碼:

    function byDistrict(){  
       var partition = new AMap.Partition();  //建立一個新的行政規劃類
       partition.byDistrict(district,city,byDistricty_CallBack);  //行政規劃查詢
    } 

 

查詢到行政規劃圖之後,需要把資料展示出來,這時用到回撥函式:

 function byDistricty_CallBack(data){
        showTime();document.getElementById("textUniqId").value = data.uniqid;
        var resultStr="";  
        if(data.status =="E0")  
        {  
            var lineNum = data.list.length; //返回總數.  
            resultCount=lineNum;  
            var content="";  
             for(var i=0;i<lineNum;i++){  
                    content += "<div style=\"cursor:pointer;\" onmouseover=openMarkerTipById1(this) onmouseout=clearbackground(this) onclick=\"drawpolygon('"+data.list[i].coords+"','"+data.list[i].name+"')\"><dl>";  
                    content +="<dt>"+"區縣名稱:"+data.list[i].name+"<dt>區縣程式碼:"+data.list[i].adcode+"</dt>"+"<dt>區縣所屬城市區號:"+data.list[i].citycode+"</dt>";  
                    content+="</dl></div>";  
             }  
                resultStr+=content;  
            }  
        else if(data.status =="E1")  
        {  
             resultStr = "未查詢到任何結果!<br />建議:<br />1.請確保所有字詞拼寫正確。<br />2.嘗試不同的關鍵字。<br />3.嘗試更寬泛的關鍵字。";     
        }  
        else  
        {  
             resultStr= "錯誤資訊:"+data.state+"請對照API Server v2.0.0 簡明提示碼對照表查詢錯誤型別";  
        }  
        document.getElementById("result").innerHTML = resultStr;            
    }  

 

行政區域圖是一個多邊形,那麼如何把這個多邊形顯示出來?使用多邊形繪畫函式:

    function drawpolygon(arr,name){  
        mapObj.clearMap();  
        var polygonArr = new Array();  
        var district = arr.split(";");  
        var lnglat = new Array();  
        for(var e=0;e<district.length-1;e++){  
            var lnglat=district[e].split(",");  
            polygonArr.push(new AMap.LngLat(lnglat[0],lnglat[1]));  
        }  
        polygon=new AMap.Polygon({     
            path:polygonArr,//設定多邊形邊界路徑  
            strokeColor:"#0000ff", //線顏色  
            strokeOpacity:0.2, //線透明度   
            strokeWeight:3,    //線寬   
            fillColor: "#f5deb3", //填充色  
            fillOpacity: 0.35//填充透明度  
        });
        polygon.setMap(mapObj);  
        mapObj.setFitView();  
    }

 

示例連結:http://zhaoziang.com/amap/partition.html

示意圖:

相關文章