解决方法
- class MyLocationActivity
- extends MapActivity {
- MapController mapController;
- MyPositionOverlay positionOverlay;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- MapView mapView = (MapView) findViewById(R.id.mapview);
- mapController = mapView.getController();
- // Configure the map display options
- mapView.setSatellite(true);
- mapView.setStreetView(true);
- mapView.displayZoomControls(false);
- mapController.setZoom(17);
- // Add the MyPositionOverlay
- positionOverlay = new MyPositionOverlay();
- List<Overlay> overlays = mapView.getOverlays();
- overlays.add(positionOverlay);
- LocationManager locationmanager;
- String context=Context.LOCATION_SERVICE;
- locationmanager=(LocationManager) getSystemService(context);
- String provider=LocationManager.NETWORK_PROVIDER;
- Location location= locationmanager.getLastKnownLocation(provider);
- updateWithNewLocation(location);
- }
- private void updateWithNewLocation(Location location) {
- if(location!=null){
- positionOverlay.setLocation(location);
- Double lat=location.getLatitude()*1E6;
- Double lon=location.getLongitude()*1E6;
- GeoPoint point = new GeoPoint(lat.intValue(),lon.intValue());
- mapController.animateTo(point);
- }
- else{
- }
- }
- @Override
- protected boolean isRouteDisplayed() {
- // TODO Auto-generated method stub
- return false;
- }
- }