1.百度地图官方API文档下载

版本  使用说明 下载
Android SDK
通用资源下载

《离线地图》提供新版离线地图(百度矢量地图)与旧版离线地图(百度栅格地图)下载。

备注:

  • 自Android SDKv2.0.0版本开始,离线地图功能使用百度矢量地图。请下载新版离线地图,即登陆网站直接选择手机品牌,型号,城市即可下载。
  • Android SDKv1.3.5版本及以前版本,离线地图功能使用百度栅格地图,请下载旧版离线地图。旧版下载入口与方法详见:http://www.cnblogs.com/milkmap/archive/2012/05/21/2511928.html
离线地图
Android SDKv2.2.0
(矢量地图版)

1. 若需使用Android SDK,请先下载对应版本的lib库,在Android工程中引用jar和so文件。

2. 该版本SDK提供矢量版地图。

3. Lib库和示例代码下载包中均含有readme.txt,可阅读参考,有助您的开发。

4. 若使用离线地图,请下载矢量版离线地图。注意:请参阅开发指南_离线地图说明,导入至BaiduMapSdk文件夹。

5. 注意:自v2.1.3版本起,SDK采用了全新的Key验证体系,如果您选择使用v2.1.3及以后的版本,需申请全新的Key。(点击查看申请流程

Android SDKv2.2.0 lib库

Android SDKv2.2.0 类参考

Android SDKv2.2.0 示例代码

全部下载

Android SDKv1.3.5
(栅格地图版)

若需使用Android SDK,请先下载对应版本的lib库,在Android工程中引用jar和so文件。

该版本提供栅格版底图。

Android SDKv1.3.5 lib库

Android SDKv1.3.5 类参考

Android SDKv1.3.5 示例代码

Android SDKv1.3.5开发指南

全部下载

Android百度地图开发(一)环境搭建_第1张图片

2.申请密钥key

http://developer.baidu.com/map/android-mobile-apply-key.htm

3.建立项目

Android百度地图开发(一)环境搭建_第2张图片

4.导入jar包

将实例中的libs文件夹拷贝到项目中,然后选中baidumapapi.jar,右键--〉build path-->add to build path

Android百度地图开发(一)环境搭建_第3张图片

5.在activity_main.xml中添加一个view用来显示地图

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <!-- 添加显示地图的控件 -->    <com.baidu.mapapi.MapView        android:id="@+id/bmapView"        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:clickable="true" /></LinearLayout>

6.编写MainActivity.java对功能进行实现

package com.arlen.baidu_hello;import android.os.Bundle;import android.view.Menu;import android.widget.Toast;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.GeoPoint;import com.baidu.mapapi.MKGeneralListener;import com.baidu.mapapi.MapActivity;import com.baidu.mapapi.MapController;import com.baidu.mapapi.MapView;public class MainActivity extends MapActivity {    // 添加百度地图的相关控件    private MapView mapView;    private BMapManager bMapManager; // 加载地图的引擎    // 百度地图的key    private String keyString = "43D220AAB0DEC976D2EABC83CFC9EEE52BCCCA7A";    // 在百度地图上添加一些空间,比如放大或者缩小    private MapController mapComtroller;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mapView = (MapView) findViewById(R.id.bmapView);        bMapManager = new BMapManager(MainActivity.this);        // 必须要加载key        bMapManager.init(keyString, new MKGeneralListener() {            @Override            public void onGetPermissionState(int arg0) {                // TODO Auto-generated method stub                if (arg0 == 300) {                    Toast.makeText(MainActivity.this, "输入的key有误,请核实!", 1)                            .show();                }            }            @Override            public void onGetNetworkState(int arg0) {                // TODO Auto-generated method stub            }        });        this.initMapActivity(bMapManager);        mapView.setBuiltInZoomControls(true); // 表示可以设置缩放功能        mapComtroller = mapView.getController();        // 需要定义一个经纬度        GeoPoint geoPoint = new GeoPoint((int) (39.915 * 1E6),                (int) (116.404 * 1E6));        // 设置一个中心点        mapComtroller.setCenter(geoPoint);        // 设置缩放级别        mapComtroller.setZoom(12);    }    @Override    protected void onDestroy() {        // TODO Auto-generated method stub        super.onDestroy();        if (bMapManager != null) {            bMapManager.destroy();            bMapManager = null;        }    }    @Override    protected void onResume() {        // TODO Auto-generated method stub        super.onResume();        if (bMapManager != null) {            bMapManager.start();        }    }    @Override    protected void onPause() {        // TODO Auto-generated method stub        super.onPause();        if (bMapManager != null) {            bMapManager.stop();        }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    @Override    protected boolean isRouteDisplayed() {        // TODO Auto-generated method stub        return false;    }}

7.修改AndroidManifest.xml文件,指定用户权限及对不同屏幕的支持

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.arlen.baidu_hello"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="18" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="com.arlen.baidu_hello.MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application>    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >    </uses-permission>    <uses-permission android:name="android.permission.INTERNET" >    </uses-permission>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >    </uses-permission>    <uses-permission android:name="android.permission.ACCESS_WIFI_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.CALL_PHONE" >    </uses-permission>    <supports-screens        android:anyDensity="true"        android:largeScreens="true"        android:normalScreens="false"        android:resizeable="true"        android:smallScreens="true" /></manifest>

8.至此,所有的工作基本完成,下面是运行效果图:

模拟器:

Android百度地图开发(一)环境搭建_第4张图片

真机测试:

Android百度地图开发(一)环境搭建_第5张图片

更多相关文章

  1. 【月入41万】Mono For Android中使用百度地图SDK
  2. Android仿百度谷歌自动提示——AutoCompleteTextView
  3. 百度地图 android 相关收集
  4. android 地图
  5. Android ADT和SDK历史版本离线包下载地址
  6. android地图开发的主要提供商。
  7. 【百度地图-安卓SDK】技术详解集锦
  8. 详解Android读取本地图片和网络图片的方法
  9. Android离线地图

随机推荐

  1. 【Android】图片切换组件ImageSwitcher的
  2. Android横屏竖屏设置
  3. Android天气预报项目
  4. Unable to resolve target 'android-5'
  5. android 网络异步加载数据进度条
  6. Android第七期 - 二维码扫描与生成图
  7. Android实时获取当前下载速度
  8. Android(安卓)继承SQLiteOpenHelper自定
  9. iPhone与Android对比
  10. android - 制作底部选项卡TabHost