使用百度地圖API實現Android應用的地圖展示和導航功能

一、添加百度地圖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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:30
下一篇 2025-01-04 19:30

相關推薦

發表回復

登錄後才能評論