通过经纬度获取中心点,以及绑定的缩放级别

分类:地图(Maps)| 发布:camnprbubuol| 查看: | 发表时间:2011/10/26
  1. //根据经纬度的距离获取地图的缩放级  
  2. function getRoom(diff){  
  3.     var room =    new Array(0,  1,  23456,7,8,  9,   10,  11,  12,  1314);  
  4.     var diffArr = new Array(360,180,90,45,22,11,5,2.5,1.25,0.6,0.3,0.15,0.07,0.03,0);  
  5.     //等级room和diffArr的关系是:360/Math.Pow(2,room)=diffArr
  6.     for(var i = 0; i < diffArr.length; i ++){  
  7.         if((diff - diffArr[i]) >= 0){  
  8.             return room[i];  
  9.         }  
  10.     }     
  11.     return 14;  
  12. }  
  13.   
  14.   
  15. function getCenterPoint(maxJ,minJ,maxW,minW){//通过经纬度获取中心位置和缩放级别  
  16.     if(maxJ==minJ&&maxW==minW)return [maxJ,maxW,0];  
  17.     var diff = maxJ - minJ;  
  18.     if(diff < (maxW - minW))diff = maxW - minW;  
  19.     diff = parseInt(10000 * diff)/10000;      
  20.     var centerJ = minJ*1000000+1000000*(maxJ - minJ)/2;  
  21.     var centerW = minW*1000000+1000000*(maxW - minW)/2;  
  22.          var zoom = getRoom(diff);  
  23.     return [centerJ/1000000,centerW/1000000,zoom];  
  24. }  

来源:http://lovebeyond.iteye.com/blog/900501

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/map/466.html

相关文章