一、添加百度地圖SDK
要實現Android應用的地圖展示和導航功能,首先需要在項目中添加百度地圖SDK。以下是添加SDK的步驟。
1. 在百度開放平台註冊賬號並創建應用;
2. 下載百度地圖SDK,並解壓;
3. 將解壓後的文件夾拷貝到項目的libs目錄下;
4. 在項目的build.gradle文件中添加如下配置:
dependencies { implementation files('libs/BaiduMapApi_v4_3_1.jar') }
5. 在AndroidManifest.xml文件中添加如下配置:
<application ...> <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="你申請的API key"/> </application>
二、顯示地圖
添加完SDK後,就可以在應用中展示地圖了。以下是實現地圖展示功能的步驟。
1. 在布局文件中添加MapView組件:
<com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="match_parent" android:layout_height="match_parent"/>
2. 在Activity中獲取MapView組件,並設置地圖初始化選項:
MapView mMapView = (MapView) findViewById(R.id.bmapView); BaiduMap mBaiduMap = mMapView.getMap(); MapStatus mMapStatus = new MapStatus.Builder() .target(new LatLng(39.914935, 116.403694)) .zoom(12) .build(); BaiduMapOptions options = new BaiduMapOptions() .mapStatus(mMapStatus) .compassEnabled(false) .zoomControlsEnabled(false); mMapView = new MapView(this, options); mMapView = (MapView) findViewById(R.id.bmapView); mBaiduMap = mMapView.getMap();
3. 在AndroidManifest.xml文件中添加導航相關許可權:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
三、導航功能
實現了地圖展示功能後,我們可以加入導航功能,使應用更加實用。以下是實現導航功能的步驟。
1. 在布局文件中添加Button組件:
<Button android:id="@+id/navigation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="導航"/>
2. 在Activity中獲取Button組件,並設置點擊事件:
Button button = (Button) findViewById(R.id.navigation); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { LatLng pt1 = new LatLng(39.914935, 116.403694); LatLng pt2 = new LatLng(39.908749, 116.397491); NaviParaOption para = new NaviParaOption() .startPoint(pt1) .startName("百度大廈") .endPoint(pt2) .endName("北京天安門"); try { BaiduMapNavigation.openBaiduMapNavi(para, MainActivity.this); } catch (BaiduMapAppNotSupportNaviException e) { e.printStackTrace(); } } });
3. 在AndroidManifest.xml文件中添加導航相關許可權:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
至此,我們已經完成了使用百度地圖API實現Android應用的地圖展示和導航功能。完整代碼示例請見以下鏈接:https://github.com/baidumapapi/BaiduMapApiDemo_Android。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309286.html