【Android 百度地图实战】1.构建一个基础的地图页面

本文详细介绍了如何在Android应用中集成百度地图SDK,并给出了具体的代码示例。文章首先初始化了BMapManager对象来加载地图引擎,并设置了百度地图的key进行权限验证。接着展示了如何设置地图中心点和缩放级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虽然很简单,但是还是有些细节要注意的,小错误搞死人啊,具体步骤官网API已提供,地址在这

效果图如下:

 

主要代码:

package yc.example.yc_ebaidumap;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.map.MKEvent;
import com.baidu.mapapi.map.MapController;
import com.baidu.mapapi.map.MapView;
import com.baidu.platform.comapi.basestruct.GeoPoint;

public class MainActivity extends Activity {
    BMapManager mBMapMan = null; // 加载地图引擎
    MapView mMapView = null;// 百度地图控件
    private final String strKey = "KcdoZxhbpGb6WcqcHej6fsms";// 百度地图的key

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 注意:请在试用setContentView前初始化BMapManager对象,否则会报错
        mBMapMan = new BMapManager(getApplication());
        // 必须加载key
        // 第一个参数- 申请的授权验证码,
        // 第二个参数 - 注册回调事件(常用事件监听,用来处理通常的网络错误,授权验证错误等,可为null)
        mBMapMan.init(strKey, new MKGeneralListener() {
            @Override
            public void onGetPermissionState(int iError) {// 返回授权验证错误
                // 非零值表示key验证未通过
                if (iError != 0) {
                    // 授权Key错误:
                    Toast.makeText(
                            getApplicationContext(),
                            "请确认授权Key是正确的,并检查您的网络连接是否正常!error: "
                                    + iError, Toast.LENGTH_LONG).show();
                } else {
                    Toast.makeText(getApplicationContext(), "key认证成功",
                            Toast.LENGTH_LONG).show();
                }
            }

            @Override
            public void onGetNetworkState(int iError) {// 返回网络错误
                if (iError == MKEvent.ERROR_NETWORK_CONNECT) {
                    Toast.makeText(getApplicationContext(), "您的网络出错啦!",
                            Toast.LENGTH_LONG).show();
                } else if (iError == MKEvent.ERROR_NETWORK_DATA) {
                    Toast.makeText(getApplicationContext(), "输入正确的检索条件!",
                            Toast.LENGTH_LONG).show();
                }
                // ...
            }
        });
        setContentView(R.layout.activity_main);
        mMapView = (MapView) findViewById(R.id.emapsView);
        // 设置启用内置的缩放控件
        mMapView.setBuiltInZoomControls(true);
        // 得到mMapView的控制权,可以用它控制和驱动平移和缩放
        MapController mMapController = mMapView.getController();
        // 用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6) - 这里是北京天安门
        GeoPoint point = new GeoPoint((int) (39.915 * 1E6),
                (int) (116.404 * 1E6));
        mMapController.setCenter(point);// 设置地图中心点
        mMapController.setZoom(12);// 设置地图zoom级别
    }

    @Override
    protected void onDestroy() {
        mMapView.destroy();
        if (mBMapMan != null) {
            mBMapMan.destroy();
            mBMapMan = null;
        }
        super.onDestroy();
    }

    @Override
    protected void onPause() {
        mMapView.onPause();
        if (mBMapMan != null) {
            mBMapMan.stop();
        }
        super.onPause();
    }

    @Override
    protected void onResume() {
        mMapView.onResume();
        if (mBMapMan != null) {
            mBMapMan.start();
        }
        super.onResume();
    }

}
MainActivity

 

PS:百度地图的授权key所属应用的安全码必须按照百度提供的方法配置哦

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值