首页 > 代码库 > android引入百度地图之最简单的例子-HelloBaiDuMap

android引入百度地图之最简单的例子-HelloBaiDuMap

 

开发工具

我用的是eclipse,目前这是开发android用的最多的一个工具。

开发准备

首先需要在百度地图开发平台上下载所需要的文档和功能,由于最新版的3.0.0的不是很熟悉,我这里用的是稍旧一点的版本:2.4.1版的;这里是下载地址:http://developer.baidu.com/map/sdkandev-download.htm。我是在这个页面的右下角点击历史版本下载的2.4.1版的:

 下载之后它里面有这样一个压缩文件:

 

解压开之后是这样的三个压缩包:

 

其中Sample是它的Demo,解压开之后是这样的:

 

打开之后里面是各种各样功能的demo;

工程配置

第一步:将开发包里的lib文件夹整个拷贝,然后粘贴到你的项目文件夹下,覆盖原有的文件,然后是这样的:

 

第二步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_v2_4_1.jar,确定后返回。

通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。

注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:

1. 在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;

2. Project -> clean-> clean all .

显示百度地图

百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:

第一步:创建并配置工程(具体方法参见工程配置部分的介绍);

第二步:在AndroidManifest中添加开发密钥、所需权限等信息;

(1)在application中添加开发密钥

<application      <meta-data          android:name="com.baidu.lbsapi.API_KEY"          android:value="开发者 key" />  
</application>

(2)添加所需权限

<uses-permission android:name="android.permission.GET_ACCOUNTS" />  
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<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.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

第三步,在布局xml文件中添加地图控件;

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

第四步,加载配置项:

 

  package com.example.mybaidumap;

  import com.baidu.mapapi.BMapManager;

  import com.baidu.mapapi.MKGeneralListener;

  import com.baidu.mapapi.map.MapController;

  import com.baidu.mapapi.map.MapView;

  import com.baidu.platform.comapi.basestruct.GeoPoint;

  import android.os.Bundle;

  import android.app.Activity;

  import android.view.Menu;

  public class MainActivity extends Activity  implements MKGeneralListener{

    private BMapManager mBMapMan = null;

    private MapView mMapView = null;

    private MapController mMapController = null;

    protected void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

      mBMapMan = new BMapManager(getApplication());

      mBMapMan.init(this);

      setContentView(R.layout.activity_main);

      // 获取地图控件引用

      mMapView = (MapView) findViewById(R.id.bmapView);

      mMapView.setBuiltInZoomControls(true);//设置缩放

    }

?

    @Override

    protected void onDestroy() {

      super.onDestroy();

      // 在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理

      mMapView.destroy();

    }

 

    @Override

    protected void onResume() {

      super.onResume();

      // 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理

      mMapView.onResume();

    }

 

    @Override

    protected void onPause() {

      super.onPause();

      // 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理

      mMapView.onPause();

    }

 

    @Override

    public void onGetNetworkState(int arg0) {

      // TODO Auto-generated method stub

    }

 

    @Override

    public void onGetPermissionState(int arg0) {

      // TODO Auto-generated method stub

    }

  }

  最后一步:运行你的app就可以看到百度地图了。