什麼是行政規劃圖?如何獲得每個行政區域的邊界輪廓圖?舉例:重慶市 江北區。如圖:
官方類參考: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
示意圖: