基于Android的百度地图基础开发

版权所有,禁止匿名转载;禁止商业使用。

因为项目的需要,最近接触了一下百度地图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();  

     }

}


运行后的效果:

Mzm2yu.png

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

0 0