百度地图(精华版)

来源:互联网 发布:java递归查询父节点 编辑:程序博客网 时间:2024/06/07 01:00

第一步

转载请注明出处:http://blog.csdn.net/crazy1235/article/details/42614603 

    做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需求需要使用百度地图的一些功能,所以这几天研究了一下,现写一下blog记录一下,欢迎大家评论指正!

一、申请AK(API Key)

    要想使用百度地图sdk,就必须申请一个百度地图的api key。申请流程挺简单的。

    首先注册成为百度的开发者,然后打开http://lbsyun.baidu.com/apiconsole/key这个网址,添加应用:



 第二步

使用keytool工具(jdk自带)查看。

    在控制台下,输入【cd .android】,然后输入【keytool -list -v -keystore debug.keystore】回车,然后提示你输入【秘钥库口令】,输入【android】回车然后就会显示SHA1的值。



第三步

数字签名搞定了,然后创建应用就ok了。创建完成之后,应用列表中会显示相应的AK,也就是api key。

下载SDK开发包

    打开http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download网址下载sdk,可以全部下载,也可以自定义下载。从V2.3.0之后的版本,SDK的开发包以可定制的形式提供下载,用户可以根据自己的项目需要勾选相应的功能下载对应的SDK开发包。



第四步

在android项目中引用百度SDK

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


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

<application

    <meta-data    android:name="com.baidu.lbsapi.API_KEY"    android:value="填写你申请的AK" />
</application>

 
   3.添加所需的权限

<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" />
 4. 在布局文件中添加地图控件:
<com.baidu.mapapi.map.MapView    android:id="@+id/bmapView"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:clickable="true" />

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

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

5.创建地图Activity,管理地图生命周期;

public class MainActivity extends AppCompatActivity {    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();    }}



0 0
原创粉丝点击