首页 > 其他 > 详细

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

时间:2014-02-16 22:29:49      阅读:471      评论:0      收藏:0      [点我收藏+]

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

效果图如下:

bubuko.com,布布扣

 

主要代码:

bubuko.com,布布扣
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所属应用的安全码必须按照百度提供的方法配置哦

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

原文:http://www.cnblogs.com/yc-755909659/p/3551230.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!