专栏首页风吹杨柳百度地图KEY的申请

百度地图KEY的申请

创建应用

点击"创建应用",进入创建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

  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);  

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 实习杂记(27):android中关于横竖屏切换的那些事

    关于Android中Activity的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:

    wust小吴
  • ScrollView内嵌套EditText导致EditText无法滑动

    最近也碰到这样的问题  搜索了网上一个答案  解决方法有两种,这个里面完成是照着别人的思路来,

    wust小吴
  • android在代码中怎么设置 RadioGroup的默认值

    这种需求一般是   个人中心 需要的   当用户修改了个人资料之后,下次在修改的话需要从服务器中拿到数据   

    wust小吴
  • Arcgis andoid开发之应用百度地图接口实现精准定位与显示

    怀着激动、兴奋的心情,在这个漫天柳絮的季节写下了这片博文,为什么呢,因为困扰我很久的一个技术性的问题得到了解决,发次博文,供大家参观、学习,同时,也以慰藉我长期...

    lzugis
  • 2018 融云集成

    融云SDK满足 App 内的社交沟通需求,提供单群聊、超级群等多种聊天模式,支持红包、图片、语音和小视频,实时消息推送,高度自定义界面,高清音视频通话,有效提升...

    ppjun
  • 15.百度地图

    六月的雨
  • 有了phonegap你还android吗?

    第一章 phonegap介绍 1.1 什么是phonegap PhoneGap是一个自由开放源码的开发工具和框架,允许利用HTML + JavaScript +...

    cloudskyme
  • 搭建基于Android和PhoneGap的开发环境

    添加ADT plug,地址为:http://dl-ssl.google.com/android/eclipse

    meteoric
  • 实习杂记(27):android中关于横竖屏切换的那些事

    关于Android中Activity的横竖屏切换问题可以通过AndroidManifest.xml文件中的Activity来配置:

    wust小吴
  • android上拉下拉加载更多数据

    最近项目中用到了ListView的下拉刷新的功能,总结了一下前辈们的代码,单独抽取出来写了一个demo作为示例。 效果图 下拉刷新: ? 加载更多: ? Cu...

    xiangzhihong

扫码关注云+社区

领取腾讯云代金券