我正在开发一个确定osm地图中用户位置的android应用程序.我能够在地图上显示用户位置,但如果位置改变整个地图重新加载,那有什么问题?另外我如何才能提高用户位置的准确性?如何根据准确度制作一个增加和减少的圆圈(如Google中所示)?
代码:
public class OsmDemoActivity extends Activity implements LocationListener,
MapViewConstants
{
private MapView mMapView;
private MapController mapController;
private LocationManager mLocMgr;
private ItemizedOverlay<OverlayItem> mMyLocationOverlay;
private ResourceProxy mResourceProxy;
ArrayList<OverlayItem> items;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mResourceProxy = new DefaultResourceProxyImpl(getApplicationContext());
setContentView(R.layout.main);
//mMapView.setUseDataConnection(false);
initilaizeMap();
//addOverlay();
mLocMgr = (LocationManager) getSystemService(LOCATION_SERVICE);
mLocMgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
}
public void initilaizeMap()
{
mMapView = (MapView) this.findViewById(R.id.mapView);
mMapView.setTileSource(TileSourceFactory.MAPNIK);
//mMapView.setUseDataConnection(false);
mMapView.setBuiltInZoomControls(true);
mMapView.setMultiTouchControls(true);
mapController = this.mMapView.getController();
mapController.setZoom(15);
mapController.setCenter(new GeoPoint(15.610762,32.540345));
/*
final MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mMapView,
mResourceProxy);
myLocationOverlay.enableMyLocation(); …Run Code Online (Sandbox Code Playgroud) 我正在开发一个 Android 应用程序,该应用程序显示带有用户位置的地图,到目前为止我能够在线和离线显示地图。现在我想知道如何使用 osmdroid 中的标记绘制一个精度圆MylocationOverlay?
这是我的代码:
public class AhmedActivity extends Activity
{
/** Called when the activity is first created. */
private MapView mapView;
private MapController mapController;
private ScaleBarOverlay mScaleBarOverlay;
MyLocationOverlay myLocationOverlay = null;
private LocationManager locationManager;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Initialize the location:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
initializemap();
/* My location overlay */
/* Create a static Overlay showing a the current location and a compass */
myLocationOverlay = new MyLocationOverlay(this, mapView); …Run Code Online (Sandbox Code Playgroud)