虽然很简单,但是还是有些细节要注意的,小错误搞死人啊,具体步骤官网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(); } }
PS:百度地图的授权key所属应用的安全码必须按照百度提供的方法配置哦
原文:http://www.cnblogs.com/yc-755909659/p/3551230.html