虽然很简单,但是还是有些细节要注意的,小错误搞死人啊,具体步骤官网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所属应用的安全码必须按照百度提供的方法配置哦

【Android 百度地图实战】1.构建一个基础的地图页面的更多相关文章

  1. 【Android Developers Training】 3. 构建一个简单UI

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  2. 基于 vue2 + vuex 构建一个具有 45 个页面的大型单页面应用

    源码地址: https://github.com/bailicangdu/vue2-elm 技术栈 vue2 + vuex + vue-router + webpack + ES6/7 + fetch ...

  3. 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库

    编辑dockerfile 文件 FROM centos MAINTAINER zhaoweifeng ENV LANG en_US.UTF-8 RUN /bin/cp /usr/share/zonei ...

  4. 构建一个基于事件分发驱动的EventLoop线程模型

    在之前的文章中我们详细介绍过Netty中的NioEventLoop,NioEventLoop从本质上讲是一个事件循环执行器,每个NioEventLoop都会绑定一个对应的线程通过一个for(;;)循环 ...

  5. Android百度地图开发03之地图控制 + 定位

    前两篇关于百度地图的blog写的是,一些基本图层的展示 和 覆盖物的添加+地理编码和反地理编码. 接下来,这篇blog主要说一些关于地图控制方面的内容和定位功能. 百度地图提供的关于地图的操作主要有: ...

  6. 《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误

    转载于:https://blog.csdn.net/aqi00/article/details/73065392 资源下载 下面是<Android Studio开发实战 从零基础到App上线&g ...

  7. Android 百度地图 SDK v3.0.0 (三) 加入覆盖Marker与InfoWindow使用

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37737213 上篇博客已经实现了地图的定位以及结合了方向传感器用户路痴定位方向, ...

  8. Android学习笔记-构建一个可复用的自定义BaseAdapter

    转载自http://www.runoob.com/w3cnote/android-tutorial-customer-baseadapter.html   作者:coder-pig 本节引言: 如题, ...

  9. 云课堂Android模块化实战--如何设计一个通用性的模块

    本文来自 网易云社区 . 如何设计一个通用性的模块 前言 每个开发者都会知道,随着项目的开发,会发现业务在不断壮大,产品线越来越丰富,而留给开发的时间却一直有限,在有限的时间,尽快完成某个功能的迭代. ...

随机推荐

  1. POJ1222 EXTENDED LIGHTS OUT 高斯消元 XOR方程组

    http://poj.org/problem?id=1222 在学校oj用搜索写了一次,这次写高斯消元,haoi现场裸xor方程消元没写出来,真实zz. #include<iostream> ...

  2. POJ 2891 Strange Way to Express Integers 中国剩余定理 数论 exgcd

    http://poj.org/problem?id=2891 题意就是孙子算经里那个定理的基础描述不过换了数字和约束条件的个数…… https://blog.csdn.net/HownoneHe/ar ...

  3. JZYZOJ1140 飞船控制站

    http://172.20.6.3/Problem_Show.asp?id=1140 p1140 就一道非常普通的二分,但是非常蛋疼的是验证mid left的过程一直错(就是写一个k次循环然后根据可行 ...

  4. Metasploit小技巧

    meterpreter > 进入meterpreter之后即可进行一些相关木马操作了,下面是正式本章内容 首先可以查看帮助文档,命令“help”,挑常用操作来讲↓↓↓ ------------- ...

  5. Illegal instruction错误的定位---忽略编译期警告的代价

    在原计算机的linux c++程序可以正确跑起来,但是换了一台机器运行时出现致命错误,程序直接当掉,错误提示如下: Illegal instruction (core dumped) 造成改错的主要原 ...

  6. oracle备份恢复学习

    备份和恢复是常遇到的操作,逻辑备份和物理备份.物理备份又分为冷备份和热备份. 一.逻辑备份,恢复 是指使用exp命令,简单易行,不影响正常的数据库操作.exp   用户名/密码   file=/hom ...

  7. C# 去掉webapi返回json所带的转义字符

    反序列换报错: {"Error converting value \"{\"Result\":true,\"Code\":\"\& ...

  8. C#把文字转换成声音

    在System.Speech命名空间下,SpeechSynthesizer类可以把文字读出来,一起来玩下~~ 首先在Windows窗体项目中引入System.Speech.界面部分: 后台代码也很简单 ...

  9. MVC三级联动无刷新

    本篇实现有关客户.订单和产品的无刷新三级联动,先看最终效果: 没有选择时,后2个Select状态为禁用: 当选择第1个Select,第2个Select可供选择,第3个Select依旧禁用: 当选择第2 ...

  10. Unity3D中的弹道和移动目标提前量计算

    弹道计算是游戏里常见的问题,其中关于击中移动目标的自动计算提前量的话题,看似简单,其实还是挺复杂的数学.网上这方面的资料还真不多,而且都是写的含含糊糊.抽空总结一下自己的方法. 讨论的前提是,假设目标 ...