• 【高德地图API】如何获得行政区域?如何制作行政规划图?


    什么是行政规划图?如何获得每个行政区域的边界轮廓图?举例:重庆市 江北区。如图:

    官方类参考: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

    示意图:

  • 相关阅读:
    control与delegate的Invode、BeginInvoke (一) jason
    你是否愿意每周最少工作80小时 (转)
    详解ASP.NET的SEO:服务器控件背后故事
    深度解析Windows Phone 7开发
    .NET 4新特性:表、SEO及可扩展输出缓存
    VS2010中Parallel类实现并行计算
    iPhone破解软件定制版blackra1n 提供下载
    .NET 4中废弃的特性
    Windows Server 2008 R2上安装WSUS 3.0 SP2
    关于浮动
  • 原文地址:https://www.cnblogs.com/milkmap/p/3766153.html
Copyright © 2020-2023  润新知