首页 > 代码库 > 百度地图基础开发

百度地图基础开发

  因为项目的需要,最近接触了一下百度地图Android开发,遇到很多问题,相信很多博友也遇到到过这些问题,现在把我的实践经验给大家分享一下。

  开发百度地图,第一步:你需要首先登录百度地图开放平台,注册一个开发者身份,通过这个身份你可以查看到百度最新的开发文档,为我们的开发提供便利。有了开发者身份后,你就可以开始为开发百度地图做准备了。

  打开Android开发工具,新建一个开发项目。然后利用你在百度注册的开发者身份申请密钥,申请密钥的方法百度文档说的很清楚,给了两钟申请方法,建议使用后一种。有了密钥下面就是开发需要使用的Jar包了,在百度开发者平台下载自己需要的即可。

  有了上面的准备工作,接下来我们就可以开始开发了,打开Android开发工具,打开刚刚创建好的工程,把刚刚下载好的Jar包导入到工程中,需要注意的是Jar包导入时还需要添加一个:armeabi文件夹里面有两个libBaiduMapSDK_v3_0_0.so和liblocSDK4d.so也要一并导入。导入选择项目右键单击,选择properties>Java Build Path>Libraries,点击右侧Add External JARS...,把工程Libs下的Jar文件选中,最后不要忘记把Oreder and Exporxt下的Jar包选上,点击Ok至此环境配置就完成了。

  下面就是代码了,首先AndroidManifest.xml文件:

获取权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.READ_PHONE_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >    </uses-permission>    <uses-permission android:name="android.permission.INTERNET" />    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >    </uses-permission>    <uses-permission android:name="android.permission.READ_LOGS" >    </uses-permission>    <uses-permission android:name="android.permission.VIBRATE" />    <uses-permission android:name="android.permission.WAKE_LOCK" />    <uses-permission android:name="android.permission.WRITE_SETTINGS" />

 

设置密钥

 

//添加在application里面
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="密钥号码" /> <service android:name="com.example.baidumap_01" android:enabled="true" android:process=":remote" > <intent-filter> <action android:name="com.baidu.location.service_v2.2" > </action> </intent-filter> </service>

 

  布局文件activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="${relativePackage}.${activityClass}" >    <com.baidu.mapapi.map.MapView        android:id="@+id/id_bmapView"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:clickable="true" /></RelativeLayout>

  主文件MainActivity.java文件:

package com.example.baidumap_01;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.Window;public class MainActivity extends Activity {        private MapView mMapView = null;    private BaiduMap mBaiduMap = null;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        requestWindowFeature(Window.FEATURE_NO_TITLE);        //在使用SDK各组件之前初始化context信息,传入ApplicationContext          //注意该方法要再setContentView方法之前实现         SDKInitializer.initialize(getApplicationContext());        setContentView(R.layout.activity_main);        //获取地图控件引用         mMapView = (MapView) findViewById(R.id.id_bmapView);        mBaiduMap = mMapView.getMap();          //普通地图          //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);          //卫星地图          mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);            }        @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();       }    }

  运行后的效果:

  以上就是百度地图V3.0的开发介绍,有兴趣的可以留言交流。

 

百度地图基础开发