2011-11-11 67 views

回答

1

要在地圖上顯示指南針,請在MyLocationOverlay中使用enableCompass()

MyLocationOverlay.java

啓用定向傳感器(指南針)更新和顯示 地圖上的羅盤。您可能希望從您的 Activity的Activity.onResume()方法中調用enableCompass(),以啓用此 疊加層的功能。請記住在 活動的Activity.onPause()方法中調用相應的disableCompass(),以便在 背景中關閉更新。

如果要旋轉地圖,以及還有的osmdroid實現該功能的一個分支:http://code.google.com/p/osmdroid/source/browse/branches/rotation/OpenStreetMapViewer/src/org/osmdroid/MapActivity.java?r=914

+0

是的,這是非常有用的,但我需要旋轉地圖以及 – max246

+1

那麼你應該更新你的問題,或要求一個新的。據我所知,這是不支持在osmdroid。 – Kleist

+1

是的,我找到了解決方案:http://code.google.com/p/osmdroid/source/browse/branches/rotation/OpenStreetMapViewer/src/org/osmdroid/MapActivity.java?r=914 – max246

1

這是我如何使羅盤:

<code> 
MapView oMap; 
IMapController mapController; 
....... 

mapController = oMap.getController(); 
mapController.setZoom(zoom); 
mapController.setCenter(new GeoPoint(latitude, longitude)); 
MyLocationNewOverlay oMapLocationOverlay = new MyLocationNewOverlay(getApplicationContext(),oMap); 
oMap.getOverlays().add(oMapLocationOverlay); 
oMapLocationOverlay.enableFollowLocation(); 
oMapLocationOverlay.enableMyLocation(); 
oMapLocationOverlay.enableFollowLocation(); 
CompassOverlay compassOverlay = new CompassOverlay(this, oMap); 
compassOverlay.enableCompass(); 
oMap.getOverlays().add(compassOverlay); 
</code> 
+0

嘿,這個作品就像一個魅力!謝謝! –

0

由於該問題不清楚,我會給你我所「想」的要求,這是一個指南針在屏幕上。

CompassOverlay mCompassOverlay = new CompassOverlay(getContext(), 
      new InternalCompassOrientationProvider(getContext()), 
      mMapView); 
mCompassOverlay.enableCompass(); 
mMapView.getOverlays().add(this.mCompassOverlay);