1. 如何初始化百度地圖[java]BMapManager mapManager = new BMapManager(getApplication()); //mStrKey為百度應用key mapManager.init(mStrKey, null); // 如果使用地圖SDK,需要初始化地圖Activity super.initMapActivity(mapManager); //開啟百度地圖API mapManager.start(); //mapView為百度地圖控制項MapView mapView.setBuiltInZoomControls(false); mapView.setClickable(true); mapView.setEnabled(true); // 得到MapController執行個體,該執行個體可以對百度地圖進行相關功能的設定,如設定百度地圖的放大層級、定位等 mapController = mapView.getController(); //設定顯示百度地圖的縮放層級 mapController.setZoom(15);// 最大18級,(15) 2. 開啟百度地圖的定位導航,共有兩個方法1)利用百度地圖提供的MyLocationOverlay[java]// 添加定位元影像層 MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView); // 註冊GPS位置更新的事件,讓地圖能即時顯示當前位置 myLocationOverlay.enableMyLocation(); // 開啟磁場感應感應器 myLocationOverlay.enableCompass(); mapView.getOverlays().add(myLocationOverlay); 2)利用百度地圖提供的LocationListener進行監聽我的位置的變化[java] MKLocationManager locationManager = mapManager.getLocationManager(); locationManager.requestLocationUpdates(new LocationListener() { @Override public void onLocationChanged(Location location) { // TODO Auto-generated method stub if (location != null) { updateMyLoading(location.getLatitude(), location.getLongitude()); } } }); private void updateMyLoading(double latitude, double longitude){ List<overlay> o = mapView.getOverlays(); final GeoPoint pt = new GeoPoint((int) (location.getLatitude() * 1e6), (int) (location.getLongitude() * 1e6)); if (pt != null) { o.remove(myOverItemT); myOverItemT = getOverItemT(myLocation, pt); o.add(myOverItemT); mapView.invalidate(); } } public OverItemT getOverItemT(Drawable scenicIcon, GeoPoint geo){ //OverItemT該類我自個定義的,繼承ItemizedOverlay<overlayitem>,以來顯示我的位置的點 OverItemT overLay = new OverItemT(scenicIcon, MapSearchActivity.this, geo, view, mapView); return overLay; } </overlayitem></overlay> 3)百度畫路線----待定