百度地图 baiduMap(一) 基本显示

来源:互联网 发布:photoshop有没有mac版 编辑:程序博客网 时间:2024/04/30 12:28

在现在很多的的APP中,都需要用到地图功能, 今天说说怎么在app 中显示地图,这也是地图最基础的功能。

一,在AndroidManifest.xml文件中添加百度地图需要的权限

 <!-- baidu map start -->    <uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE" ></uses-permission>    <uses-permission android:name="android.permission.CALL_PHONE" ></uses-permission>    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" ></uses-permission>    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" > </uses-permission>    <uses-permission android:name="android.permission.INTERNET" ></uses-permission>    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" ></uses-permission>    <!-- <uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission> -->    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" ></uses-permission>    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />    <uses-permission android:name="android.permission.WAKE_LOCK" > </uses-permission>    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <uses-permission android:name="android.permission.ACCESS_GPS" />    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.READ_CONTACTS" />    <uses-permission android:name="android.permission.CALL_PHONE" />    <uses-permission android:name="android.permission.READ_SMS" />    <uses-permission android:name="android.permission.SEND_SMS" />    <uses-permission android:name="android.permission.GET_TASKS" />    <uses-permission android:name="android.permission.CAMERA" > </uses-permission>    <uses-permission android:name="android.permission.RECORD_AUDIO" ></uses-permission>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" ></uses-permission>    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />    <uses-permission android:name="android.permission.BROADCAST_STICKY" />    <uses-permission android:name="android.permission.WRITE_SETTINGS" />    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" ></uses-permission>    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

二,在AndroidManifest.xml文件的Application 的标签下 添加

 <!-- api_key是根据证书创建出来的,每台电脑证书不一样,换电脑就必须重新申请key,把申请到的key,添加到value 后面 -->        <meta-data            android:name="com.baidu.lbsapi.API_KEY"            android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />

三,到百度地图的官网 申请key,网址:http://lbsyun.baidu.com/apiconsole/key
没有帐号 先注册,成为百度开发者。
这里写图片描述

要点击创建应用,
这里写图片描述
填写你创建项目的应用名称,应用类型是Android SDK,
这里写图片描述
发布版SHA1与开发版SHA1
这两个版本号 我弄的一样的,打开eclipse–>Window—>preferences—->android—>build 如下图:
这里写图片描述

复制SHA1 fingerprint 的值,粘贴到发布版SHA1与开发版SHA1 的输入框中,再输入包名,在AndroidManifest.xml文件中 可以找到包名。 如下图:
这里写图片描述

然后提交,就可以得到生成的key .
如下图:
这里写图片描述
把生成的KEY ,复制粘贴到第二步的value值中,

<meta-data            android:name="com.baidu.lbsapi.API_KEY"            android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />

四,下载百度地图所要用到的SDK
网址:http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download
Android SDK v3.7.3 版本中,用户可以自定义下载自己所需要的功能的SDK
把开发包中的 jar包与so 文件导入到eclipse 中
这里写图片描述

五,layout中的布局文件

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

六,在程序的onCreate()方法中,初始化SDK 参数是getApplicationContext();
mMapView的生命周期方法

    // 百度地图控件      private MapView mMapView;      // 百度地图对象      private BaiduMap bdMap;     @Override    protected void onCreate(Bundle arg0) {        super.onCreate(arg0);        SDKInitializer.initialize(getApplicationContext());        try {            Log.i("MainFragmentActivity", "onCreate()");            setContentView(R.layout.main_fragment);            init();    /**      * 初始化控件      */      private void init() {          mMapView = (MapView) findViewById(R.id.mapView);      }   @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();      }  

通过以上六步,已经能显示基本的百度地图了。
未完待续!

0 0
原创粉丝点击