百度地图集成(一)

登录百度地图开放平台

同意LBS协议

然后创建应用

Android应用获取包名packagename,根据开发工具不同,获取位置有所不同,这里只讲解eclipse

使用 eclipse 开发

包名是Android应用程序本身在AndroidManifest.xml 中定义的名称,例如:

Android签名证书的sha1值获取方式:

使用keytool

第1步:运行进入控制台

然后

第2步:定位到.android文件夹下,输入cd .android

第3步:输入keytool -list -v -keystore debug.keystore,会得到三种指纹证书,选取SHA1类型的证书(密钥口令是android),例如:

其中keytool为jdk自带工具;keystorefile为Android 签名证书文件

这里就是key了

获取了key开始使用,需要添加百度地图jar包

解压后如下:

BaiduMap_AndroidSDK_v3.7.3_Docs是文档

BaiduMap_AndroidSDK_v3.7.3_Sample是实例

libs:jar包

将所有jar文件都添加到工程里面

注意:应用混淆

集成地图SDK的应用,在打包混淆的时候,需要注意与地图SDK相关的方法不可被混淆。混淆方法如下:

-keep class com.baidu.** {*;}

-keep class vi.com.** {*;}

-dontwarn com.baidu.**

保证百度类不能被混淆,否则会出现网络不可用等运行时异常

显示百度地图

百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:

第一步:创建并配置工程(具体方法参见工程配置部分的介绍);

第二步:在AndroidManifest中添加开发密钥、所需权限等信息;

(1)在application中添加开发密钥

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="开发者 key" />  
</application>

如图

2)添加所需权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

如图

第三步,在布局xml文件中添加地图控件;

<com.baidu.mapapi.map.MapView  
    android:id="@+id/bmapView"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:clickable="true" />
 

如图

第四步,在应用程序创建时初始化 SDK引用的Context 全局变量:

public class MainActivity extends Activity {  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_main);  
    }  
}

注意:在SDK各功能组件使用之前都需要调用

SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中

注意:如果是在Application里面需要在清单文件中配置Application,不然会报这个错误Caused by: android.view.InflateException: Binary XML file line ,Error inflating class com.baidu.mapapi.map.MapView无法初始化百度地图

如图:

第五步,创建地图Activity,管理地图生命周期;

public class MainActivity extends Activity {  
    MapView mMapView = null
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);   
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现  
        SDKInitializer.initialize(getApplicationContext());  
        setContentView(R.layout.activity_main);  
        //获取地图控件引用  
        mMapView = (MapView) findViewById(R.id.bmapView);  
    }  
    @Override  
    protected void onDestroy() {  
        super.onDestroy();  
        //activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理  
        mMapView.onDestroy();  
    }  
    @Override  
    protected void onResume() {  
        super.onResume();  
        //activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理  
        mMapView.onResume();  
        }  
    @Override  
    protected void onPause() {  
        super.onPause();  
        //activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理  
        mMapView.onPause();  
        }  
    }

如图

完成以上步骤后,运行程序,即可在您的应用中显示如下地图:

总结:

第一, 先使用应用“包名”和“sha1”获取到百度地图的唯一key

第二, 下载百度的SDK,添加到应用中

第三, 配置百度SDK的权限,在Layout中配置MapView,在Application里面配置SDKInitializer.initialize(getApplicationContext());

同时在Activity重写onResumeonPauseonDestroy进行实现地图生命周期管理  注:加入mMapView. onResume ();mMapView.onPause();mMapView. onDestroy ();
时间: 2024-10-13 08:19:24

百度地图集成(一)的相关文章

Android开放百度地图集成

1.创建应用 获取AK (我理解为Application key)  通过百度账号登录百度地图开放平台,进入API控制台 http://lbsyun.baidu.com/apiconsole/key 创建自己的应用,输入应用名称 ,选择Android SDK 应用类型,选择需要的服务(默认全选) 输入签名文件的SHA1,默认的签名文件debug.keystore 在 C:\Users\你的用户\.android下,然后打开控制台cd到此目录下 键入 keytool -v -list -keyto

IOS第三方地图-百度地图集成

百度地图官网: http://developer.baidu.com/map/index.php?title=iossdk 照上面吧百度地图sdk集成到工程 然后在pilst文件中加入: 如果地图没有显示就是key没有配置对,仔细检查下

百度地图集成 - 2.48 - 检索周围信息

官方文档 --- http://developer.baidu.com/map/index.php?title=iossdk/guide/key 百度地图在2.5之前, 不支持64位手机端. [注意] 首先成为百度开发者, 然后创建应用,设置bundleID-- http://developer.baidu.com/console; error : 1. "_SCNetworkReachabilityCreateWithAddress", referenced from  ---- 系

百度地图集成--二

参考官方文档 --> 申请秘钥 --> 配置开发环境 --> Hello BaiduMap --> 注意事项 --> 注意Bundle ID(官方文档没有提示) 先创建一个百度地图文件  进行如下操作 在使用SDK的类 按需 引入下边的头文件:(appdelegte 中  和 viewController 中分别导入以下头文件) #import <BaiduMapAPI_Base/BMKBaseComponent.h>//引入base相关所有的头文件   #imp

Android 开发之集成百度地图的定位与地图展示

app 应用中,大多数应用都具有定位功能,百度定位就成了开发人员的集成定位功能的首选,最近也在做定位功能,但是发现百度真是个大坑啊, sdk 命名更新了,相关代码却不更新,害得我花费了很长时间来研究,今天来给大家分享下 Android 集成百度地图要注意的事情,这里只是集成了定位和地图展示功能,其他功能还未涉及,先看下效果图: 接下来介绍一下 Android 集成百度地图的步骤: 首先登陆百度开发平台,在我的应用中创建应用,然后你会看到如下界面: 根据它的要求填写相关信息,这里的安全是有 SHA

IOS百度地图使用基础指南+原生分享&友盟分享

1.地图 1.获取用户的经纬度(CLLocationManager) 创建属性:CLLocationManager *mgr; 遵守协议:<CLLocationManagerDelegate> a>创建定位管理器 self.mgr = [[CLLocationManager alloc] init]; b>设置代理 self.mgr.delegate = self; c>开始定位 [self.mgr startUpdatingLocation]; 代理方法: -(void)l

Android 百度地图 SDK v3.0.0 (一)

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37729091 最近公司要把百度地图集成的项目中,于是我就研究了一天百度地图的SDK,当前的版本:Android SDK v3.0.0 . 虽然百度地图网上相关代码比较多,大多可能都是比较旧的版本,且百度地图API的改动感觉也比较大,所以再此跟大家分享一下一天的劳动成功. 下面简单展示下,博客中会介绍的功能: 1.功能介绍 a.首先肯定是导入地图,然后就是地图模式的一些切换,普通

iOS第三方地图-百度地图常用功能使用(POI搜索,地理正反编码,定位,添加标注)

百度地图官网: http://developer.baidu.com/map/index.php?title=iossdk 百度地图集成 1.引入相关包 注:不需要使用地图功能的可以不用boundle包,模拟器使用的framework和真机不一样具体看官网 2.info.plist中 3.在TARGETS->Build Settings->Other Linker Flags 中添加-ObjC. 4.将一个文件设置为.mm 百度地图使用 1.AppDelegate中注册 _mapManager

wex5 实战 百度地图JavaScript API 集成

wex5里提供了一个bMap组件来调用百度地图,在百度地图api里,有许多版本的api供开发者调用.在wex5开发里,JavaScript API 集成,经过测试,成功.今天从0开始一步一步操作,将来会制作更复杂的地图与定位效果,大家共同学习,共同进步. 一 演示效果: 二 设计思路: 用html页面,装入百度地图,再将html页面放入iframe页中. 三 代码实现: 1  申请百度会员,并申请百度api ak(开发者密钥) 所有的第三方集成都需要密钥,相当于为当前的用户请求分配的一个id,服