前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百度地图KEY的申请

百度地图KEY的申请

作者头像
wust小吴
发布2019-07-05 12:01:47
1.4K0
发布2019-07-05 12:01:47
举报
文章被收录于专栏:风吹杨柳

创建应用

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

key3.png
key3.png
key4.png
key4.png

配置应用

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

key5.png
key5.png

获取安全码

输入“安全码”。安全码的组成规则为: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

  1. <application  
  2.         android:allowBackup="true"
  3.         android:icon="@drawable/ic_launcher"
  4.         android:label="@string/app_name"
  5.         android:theme="@style/AppTheme" >  
  6.         <meta-data  
  7.             android:name="com.baidu.lbsapi.API_KEY"
  8.             android:value="填写你申请的AK" />  

权限:

[java] view plaincopy

  1. <!-- 百度API所需权限 -->  
  2.     <uses-permission android:name="android.permission.GET_ACCOUNTS" />  
  3.     <uses-permission android:name="android.permission.USE_CREDENTIALS" />  
  4.     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />  
  5.     <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />  
  6.     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
  7.     <uses-permission android:name="android.permission.INTERNET" />  
  8.     <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />  
  9.     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
  10.     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
  11.     <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
  12.     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
  13.     <uses-permission android:name="android.permission.BROADCAST_STICKY" />  
  14.     <uses-permission android:name="android.permission.WRITE_SETTINGS" />  
  15.     <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

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

[java] view plaincopy

  1. <com.baidu.mapapi.map.MapView  
  2.         android:id="@+id/bmapview"
  3.         android:layout_width="match_parent"
  4.         android:layout_height="match_parent"
  5.         android:clickable="true" />  

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

[java] view plaincopy

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {  
  3. super.onCreate(savedInstanceState);  
  4.     requestWindowFeature(Window.FEATURE_NO_TITLE);  
  5. //
  6.     SDKInitializer.initialize(getApplicationContext());  
  7.     setContentView(R.layout.activity_main);  
  8.     init();  
  9. }  

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

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

[java] view plaincopy

  1. package com.bdmap.view;  
  2. import com.baidu.mapapi.SDKInitializer;  
  3. import com.baidu.mapapi.map.BaiduMap;  
  4. import com.baidu.mapapi.map.MapView;  
  5. import android.app.Activity;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.view.Window;  
  9. public class MainActivity extends Activity {  
  10. // 百度地图控件
  11. private MapView mMapView = null;  
  12. // 百度地图对象
  13. private BaiduMap bdMap;  
  14. @Override
  15. protected void onCreate(Bundle savedInstanceState) {  
  16. super.onCreate(savedInstanceState);  
  17.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  18. //
  19.         SDKInitializer.initialize(getApplicationContext());  
  20.         setContentView(R.layout.activity_main);  
  21.         init();  
  22.     }  
  23. /**
  24.      * 初始化方法
  25.      */
  26. private void init() {  
  27.         mMapView = (MapView) findViewById(R.id.bmapview);  
  28.     }  
  29. @Override
  30. protected void onResume() {  
  31. super.onResume();  
  32.         mMapView.onResume();  
  33.     }  
  34. @Override
  35. protected void onPause() {  
  36. super.onPause();  
  37.         mMapView.onPause();  
  38.     }  
  39. @Override
  40. protected void onDestroy() {  
  41.         mMapView.onDestroy();  
  42.         mMapView = null;  
  43. super.onDestroy();  
  44.     }  
  45. }  

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

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

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

[java] view plaincopy

  1. mMapView = (MapView) findViewById(R.id.bmapView);    
  2. mBaiduMap = mMapView.getMap();    
  3. //普通地图  
  4. mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);    
  5. //卫星地图  
  6. mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);  

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

[java] view plaincopy

  1. //开启交通图   
  2. mBaiduMap.setTrafficEnabled(true);  

五、显示热力图

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

[java] view plaincopy

  1. //开启热力图   
  2. mBaiduMap.setBaiduHeatMapEnabled(true);  
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年10月05日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建应用
  • 配置应用
  • 获取安全码
  • 三、在android项目中引用百度SDK
  • 三、普通地图和卫星地图切换
  • 四、显示实时交通图(路况图)
  • 五、显示热力图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档