package com.baidu.mapapi.demo; import android.content.Intent; import android.location.Location; import android.os.Bundle; import com.baidu.mapapi.BMapManager; import com.baidu.mapapi.GeoPoint; import com.baidu.mapapi.LocationListener; import com.baidu.mapapi.MapActivity; import com.baidu.mapapi.MapView; import com.baidu.mapapi.MyLocationOverlay; public class LocationOverlay extends MapActivity { MapView mMapView = null; LocationListener mLocationListener = null;//onResumeʱע���listener��onPauseʱ��ҪRemove MyLocationOverlay mLocationOverlay = null; //��λͼ�� protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.mapviewdemo); BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication(); if (app.mBMapMan == null) { app.mBMapMan = new BMapManager(getApplication()); app.mBMapMan.init(app.mStrKey, new BMapApiDemoApp.MyGeneralListener()); } app.mBMapMan.start(); // ���ʹ�õ�ͼSDK�����ʼ����ͼActivity super.initMapActivity(app.mBMapMan); mMapView = (MapView)findViewById(R.id.bmapView); mMapView.setBuiltInZoomControls(true); //���������Ŷ���������Ҳ��ʾoverlay,Ĭ��Ϊ������ mMapView.setDrawOverlayWhenZooming(true); // ��Ӷ�λͼ�� mLocationOverlay = new MyLocationOverlay(this, mMapView); mMapView.getOverlays().add(mLocationOverlay); // ע�ᶨλ�¼� mLocationListener = new LocationListener(){ @Override public void onLocationChanged(Location location) { if (location != null){ GeoPoint pt = new GeoPoint((int)(location.getLatitude()*1e6), (int)(location.getLongitude()*1e6)); mMapView.getController().animateTo(pt); } } }; } @Override protected void onPause() { BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication(); app.mBMapMan.getLocationManager().removeUpdates(mLocationListener); mLocationOverlay.disableMyLocation(); mLocationOverlay.disableCompass(); // �ر�ָ���� app.mBMapMan.stop(); super.onPause(); } @Override protected void onResume() { BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication(); // ע�ᶨλ�¼�����λ�󽫵�ͼ�ƶ�����λ�� app.mBMapMan.getLocationManager().requestLocationUpdates(mLocationListener); mLocationOverlay.enableMyLocation(); mLocationOverlay.enableCompass(); // ��ָ���� app.mBMapMan.start(); super.onResume(); } @Override protected boolean isRouteDisplayed() { // TODO Auto-generated method stub return false; } }