您的位置:首页 > 其它

百度地图KEY的申请

2015-10-05 15:41 239 查看

创建应用

点击"创建应用",进入创建AK页面,输入应用名称,将应用类型改为:“Android SDK”:





配置应用

在应用类型选为“Android SDK”后,需要配置应用的安全码,如下图所示:



获取安全码

输入“安全码”。安全码的组成规则为:Android签名证书的sha1值+“;”+packagename(即:数字签名+分号+包名),例如:

BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75;com.baidumap.demo

注意:中间的分号为英文状态下的分号!

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

第一种方法:使用keytool

第1步:运行进入控制台





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



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

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





第二种方法:在adt 22中直接查看

如果使用adt 22,可以在eclipse中直接查看:windows -> preferance -> android -> build。 如下图示:



其中“SHA1 fingerprint”值即为Android签名证书的sha1值

获取包名

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



按照这样的步骤来,就会创建一个应用:



得到key之后就去下载SDK了

打开http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download网址下载sdk

下面的是转载别的文章:地址http://blog.csdn.net/crazy1235/article/details/42614603


三、在android项目中引用百度SDK

1. 将开发包中的jar包和so文件添加到libs文件下。



2. 在AndroidManifest.xml中添加开发秘钥和所需权限。

[java] view
plaincopy





<application

android:allowBackup="true"

android:icon="@drawable/ic_launcher"

android:label="@string/app_name"

android:theme="@style/AppTheme" >

<meta-data

android:name="com.baidu.lbsapi.API_KEY"

android:value="填写你申请的AK" />

权限:

[java] view
plaincopy





<!-- 百度API所需权限 -->

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<uses-permission android:name="android.permission.USE_CREDENTIALS" />

<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />

<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />

<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.CHANGE_WIFI_STATE" />

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.BROADCAST_STICKY" />

<uses-permission android:name="android.permission.WRITE_SETTINGS" />

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

3. 在布局文件中添加地图控件:

[java] view
plaincopy





<com.baidu.mapapi.map.MapView

android:id="@+id/bmapview"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:clickable="true" />

4. 在应用程序创建时初始化SDK引用的Context全局变量。

[java] view
plaincopy





@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

//

SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

init();

}

这里需要注意一下:initialize方法中必须传入的是ApplicationContext,传入this,或者MAinActivity.this都不行,不然会报运行时异常,所以百度建议把该方法放到Application的初始化方法中。



然后重写activity的生命周期的几个方法来管理地图的生命周期。在activity的onResume、onPause、onDestory方法中分别执行mapview的onReusme、onPause、onDestory方法。

[java] view
plaincopy





package com.bdmap.view;

import com.baidu.mapapi.SDKInitializer;

import com.baidu.mapapi.map.BaiduMap;

import com.baidu.mapapi.map.MapView;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.Window;

public class MainActivity extends Activity {

// 百度地图控件

private MapView mMapView = null;

// 百度地图对象

private BaiduMap bdMap;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

//

SDKInitializer.initialize(getApplicationContext());

setContentView(R.layout.activity_main);

init();

}

/**

* 初始化方法

*/

private void init() {

mMapView = (MapView) findViewById(R.id.bmapview);

}

@Override

protected void onResume() {

super.onResume();

mMapView.onResume();

}

@Override

protected void onPause() {

super.onPause();

mMapView.onPause();

}

@Override

protected void onDestroy() {

mMapView.onDestroy();

mMapView = null;

super.onDestroy();

}

}

完成以上步骤,此时就可以完成一个简单的”Hello Map“程序了。


三、普通地图和卫星地图切换

百度地图将地图的类型分为两种:普通矢量地图和卫星图。

[java] view
plaincopy





mMapView = (MapView) findViewById(R.id.bmapView);

mBaiduMap = mMapView.getMap();

//普通地图

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);

//卫星地图

mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);


四、显示实时交通图(路况图)

[java] view
plaincopy





//开启交通图

mBaiduMap.setTrafficEnabled(true);


五、显示热力图

热力图就是以特殊高亮的形式显示访客热衷的页面区域和访客所在的地理区域的图示。通俗来说就是显示地图上某一块区域的人的密集程度。类似于下图所示:



[java] view
plaincopy





//开启热力图

mBaiduMap.setBaiduHeatMapEnabled(true);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: