天天看點

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.     }  

這樣地圖偏移量就會小一些