百度地图使用,关于百度地图的使用

在android手机上使用百度地图来定位的资料在网上很难找到,经过两天的折腾,终于搞出来了。下面的代码已经实现完整定位,需要注意的就是,如果你的百度地图的底图未显示出来,请确保你手机能使用GPRS(以移动为例)或WIFI联网,要使用精确定位的话,也必须要打开GPS。下面我们直接上代码,代码说明,百度里面有,一看就知道:
step1 AndroidManifest.xml文件
1 2 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 24 25
step2 首先建立一个全局应用类,主要是创建一个BMapManager实例,为了方便管理
1 package com.studio.basf.mapdemo; 2 3 import android.app.Application; 4 5 import com.baidu.mapapi.BMapManager; 6 import com.baidu.mapapi.MKEvent; 7 import com.baidu.mapapi.MKGeneralListener; 8 9 public class MapManagerApplication extends Application { 10 BMapManager bMapManager = null; 11 12 static class MyGeneralListener implements MKGeneralListener { 13 14 @Override 15 public void _disibledevent=>int iError) { 16 17 } 18 19 @Override 20 public void _disibledevent=>int iError) { 21 if (iError == MKEvent.ERROR_PERMISSION_DENIED) { 22 23 } 24 } 25 } 26 27 @Override 28 public void _disibledevent=>29 // TODO Auto-generated method stub 30 bMapManager = new BMapManager(this); 31 bMapManager.init("你的key", new MyGeneralListener()); 32 } 33 }
step3 继承MapActivity,同时实现LocationListener接口
1 package com.studio.basf.mapdemo; 2 3 import android.location.Location; 4 import android.os.Bundle; 5 6 import com.baidu.mapapi.BMapManager; 7 import com.baidu.mapapi.GeoPoint; 8 import com.baidu.mapapi.LocationListener; 9 import com.baidu.mapapi.MKLocationManager; 10 import com.baidu.mapapi.MapActivity; 11 import com.baidu.mapapi.MapController; 12 import com.baidu.mapapi.MapView; 13 import com.baidu.mapapi.MyLocationOverlay; 14 15 public class MainActivity extends MapActivity implements LocationListener { 16 private BMapManager mBMapMan = null; 17 private MapView mMapView = null; 18 private MapController mMapController = null; 19 private MKLocationManager locationManager = null; 20 21 /** Called when the activity is first created. */ 22 @Override 23 public void _disibledevent=>24 super.onCreate(savedInstanceState); 25 setContentView(R.layout.main); 26 27 mBMapMan = ((MapManagerApplication) getApplication()).bMapManager; 28 if (mBMapMan == null) { 29 ((MapManagerApplication) getApplication()).bMapManager = new BMapManager( 30 getApplication()); 31 ((MapManagerApplication) getApplication()).bMapManager.init( 32 "你的key", 33 new MapManagerApplication.MyGeneralListener()); 34 mBMapMan = ((MapManagerApplication) getApplication()).bMapManager; 35 } 36 super.initMapActivity(mBMapMan); 37 38 locationManager = mBMapMan.getLocationManager(); 39 locationManager.requestLocationUpdates(this); 40 41 mMapView = (MapView) findViewById(R.id.bmapsView); 42 mMapView.setBuiltInZoomControls(true);// 设置启用默认的缩放控件 43 44 mMapController = mMapView.getController();// 得到mMapView的控制权,可以用它控制和驱动平移和缩放 45 mMapController.setZoom(12);// 设置地图zoom级别 46 47 MyLocationOverlay mylocTest = new MyLocationOverlay(this, mMapView); 48 mylocTest.enableMyLocation(); 49 mylocTest.enableCompass(); 50 mMapView.getOverlays().add(mylocTest); 51 } 52 53 @Override 54 public void _disibledevent=>55 // TODO Auto-generated method stub 56 57 if (location != null) { 58 mMapController.animateTo(new GeoPoint( 59 (int) (location.getLatitude() * 1E6), (int) (location 60 .getLongitude() * 1E6))); 61 } 62 } 63 64 @Override 65 protected void _disibledevent=>66 // TODO Auto-generated method stub 67 if (mBMapMan != null) { 68 mBMapMan.destroy(); 69 ((MapManagerApplication) getApplication()).bMapManager = null; 70 mBMapMan = null; 71 } 72 super.onDestroy(); 73 } 74 75 @Override 76 protected void _disibledevent=>77 // TODO Auto-generated method stub 78 if (mBMapMan != null) { 79 mBMapMan.stop(); 80 } 81 super.onPause(); 82 } 83 84 @Override 85 protected void _disibledevent=>86 // TODO Auto-generated method stub 87 if (mBMapMan != null) { 88 mBMapMan.start(); 89 } 90 super.onResume(); 91 } 92 93 @Override 94 protected boolean isRouteDisplayed() { 95 // TODO Auto-generated method stub 96 return false; 97 } 98 }
因为代码在需要在真机上运行才能看到效果,所以我这里就截图,上面的代码直接复制下来就可以使用。
Tags:  百度地图api 百度手机地图 百度地图 百度地图无法使用 百度地图使用

延伸阅读

最新评论

发表评论