一. 百度地图API大批量转换时有数量限制,一个一个转。
 用到的方法接口
   /**
     源坐标 格式:经度,纬度;经度,纬度… 最多支持100个;
     源坐标类型:默认为1,即GPS设备获取的坐标 ;
     目的坐标类型:默认为5,即bd09ll(百度坐标) ;
     返回结果格式 :json
    **/
 convertor.translate(pointArr, 1, 5, tranCallback);
 
  /**
  status:正常0,异常非0;(批量转换时需要判断)
  result :json或者xml数组 ;
  x  float  横坐标   ; y  float  纵坐标  
  **/
 tranCallback = function (result ) {}
 
相关代码
    
    var result = [];
    var num = 0;
    var sum = xList.length;


   //坐标转换完之后的回调函数    

    tranCallback = function (point) {

        result.push(point.points[0]);

        //一个个点转换的过程中记录已转换点的个数         

            num++;       

        if (num == sum) {            

                drawPolyline(); //在最后一次画线         

        } else {             

               makeLine();  //循环坐标转换,并不画线     

      }

      }     

    function makeLine() {

        var gpsPoint = new BMap.Point(xList[num], yList[num]);         

        var convertor = new BMap.Convertor();        
//方法参数必须是数组,一个一个转时需要数组pointArr = []占位,其输出永远为空;result则越来越多
         var pointArr = [];         

         pointArr.push(gpsPoint);         

        convertor.translate(pointArr, 1, 5, tranCallback);     

  }

  setTimeout(function () {

        makeLine();

    }, 1000);

 

  

二.

web请求 
    System.Net.WebRequest HttpWebRequest=System.Net.WebRequest.Create("http://api.map.baidu.com/geocoder/v2/?ak=sAjKcQDFoSUGyxYKGhGd3UOo&coordtype=wgs84ll&location="+strLat+,"+strLong+"&output=xml&poi=0");
    
posted on 2016-02-23 12:22  andiest  阅读(1540)  评论(0编辑  收藏  举报