天天看点

android 使用百度地图偏移问题及解决方案

我们在使用百度地图的时候,有时候会出现坐标在地图上出现偏移的情况,一般显示的都是基本准确的,会有误差,如果偏移量过大,就需要优化一下

统一使用国内的地图服务,地图偏移,坐标偏移,偏移加偏移,从显示上看就基本是准的。但如果你用真实准确的经纬度,在偏移的地图上显示,就会偏移。

没办法,都有偏移。而且不是规则的线性的偏移,地图产品必须得有偏移,不可能很精确地。

   如果偏移量过大  要对坐标做一下纠正  

  1. private LatLng pianyi(double lon,double lat)  
  2.     {  
  3.           double x = lon; double y = lat;    
  4.             double z = Math.sqrt(x*x+y*y) + 0.00002 *Math.sin(y*Math.PI) ;    
  5.             double temp =Math.atan2(y, x)  + 0.000003 * Math.cos(x*Math.PI);   
  6.             double bdLon = z * Math.cos(temp) + 0.0065;    
  7.             double bdLat = z * Math.sin(temp) + 0.006;   
  8.             LatLng newcenpt = new LatLng(bdLat, bdLon);  
  9.             return newcenpt;  
  10.     }  

这样地图偏移量就会小一些