百度地图开发环境搭建BDHelloWorld
2014-01-07 21:34
363 查看
一、基本要点
1、申请百度地图移动版API Key申请地址与申请方法:http://developer.baidu.com/map/sdkandev-1.htm
2、下载百度地图Android SDK
下载地址与使用说明:http://developer.baidu.com/map/sdkandev-download.htm
3、工程配置
工程配置具体步骤:http://developer.baidu.com/map/sdkandev-2.htm
(1)New一个Android工程,如BDHelloWorld
(2)用BaiduMap_AndroidSDK_v2.3.1_Sample/BaiduMapsApiDemo的libs文件夹覆盖BDHelloWorld的libs文件夹
(3)展开libs文件夹,右键依次选择.Jar格式文件,将其Add to Build Path即可
二、BDHelloWorld
以最简单的helloworld为例检验自己环境搭建与工程配置是否正确,也可以作为后期程序的demo(注意更换KEY)。源码下载:http://yunpan.cn/Qiq895YSEChgA 访问密码 eed1
1、AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="baidumapsdk.bdhelloworld"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="15" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="XAB40cM2opwkAc4ydBeCvmwP" />
<activity
android:name="baidumapsdk.bdhelloworld.MainActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:screenOrientation="sensor" >
<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.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>
<!-- SDK离线地图和cache功能需要读写外部存储器 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
</uses-permission>
<uses-permission android:name="android.permission.WRITE_SETTINGS" >
</uses-permission>
<!-- 获取设置信息和详情页直接拨打电话需要以下权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CALL_PHONE" >
</uses-permission>
<!-- 使用定位功能所需权限,demo已集成百度定位SDK,不使用定位功能可去掉以下6项 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
</uses-permission>
<permission android:name="android.permission.BAIDU_LOCATION_SERVICE" >
</permission>
<uses-permission android:name="android.permission.BAIDU_LOCATION_SERVICE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_GPS" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="false"
android:resizeable="true"
android:smallScreens="true" />
</manifest>
2、activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.baidu.mapapi.map.MapView
android:id="@+id/bmapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
</LinearLayout>
3、MainActivity.java
package baidumapsdk.bdhelloworld;
import com.baidu.mapapi.BMapManager;
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 {
BMapManager mBMapMan = null;
MapView mMapView = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBMapMan = new BMapManager(getApplication());
mBMapMan.init(null);
// 注意:请在试用setContentView前初始化BMapManager对象,否则会报错
setContentView(R.layout.activity_main);
mMapView = (MapView) findViewById(R.id.bmapView);
mMapView.setBuiltInZoomControls(true);
// 设置启用内置的缩放控件
MapController mMapController = mMapView.getController();
// 得到mMapView的控制权,可以用它控制和驱动平移和缩放
GeoPoint point = new GeoPoint((int) (32.062099 * 1E6),
(int) (118.768178 * 1E6));
// 用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6),以河海大学设计院为例
mMapController.setCenter(point);// 设置地图中心点
mMapController.setZoom(12);// 设置地图zoom级别
}
@Override
protected void onDestroy() {
mMapView.destroy();
if (mBMapMan != null) {
mBMapMan.destroy();
mBMapMan = null;
}
super.onDestroy();
}
@Override
protected void onPause() {
mMapView.onPause();
if (mBMapMan != null) {
mBMapMan.stop();
}
super.onPause();
}
@Override
protected void onResume() {
mMapView.onResume();
if (mBMapMan != null) {
mBMapMan.start();
}
super.onResume();
}
@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;
}
}
4、运行效果
三、注意事项
申请KEY:一个应用对应且仅对应一个ak,修改应用名称需要重新申请一个ak。By the way,修改包的名称是可以的,但是需要重新设置密钥,具体就是修改安全码。欢迎技术交流个人QQ:805115086,验证请说明自己研究方向。
相关文章推荐
- Windows下AngularJS 和 Git 搭建Angular HelloWorld开发环境
- Zephyr OS 基础篇: 搭建开发环境 hello-world
- 搭建安卓开发环境 hello world andriod
- Android:Windows64位搭建开发环境-JDK,SDK,Eclipse,ADT,AVD-HelloWorld Example,genymotion
- 搭建Android开发环境开启Hello&nbsp;Wor…
- 基于Eclipse开发环境的搭建及HelloAndroid示例程序的创建
- PHP环境搭建以及helloworld.php
- Weex系列笔记(一)环境搭建,Hello Weex World
- Android开发之旅:环境搭建及Hello…
- 自己动手搭建 Redis 环境,并建立一个 .NET HelloWorld 程序测试(转)
- Java开发环境的准备及"hello world"
- Objective C Hello World 之Windows平台环境搭建
- 百度地图开发(1)-----环境搭建
- Linux Android 开发环境的搭建 和 第一个Android程序HelloAndroid
- Android百度地图开发(一)环境搭建
- 联发科Linkit 7688 (一) 上手及在Mac下搭建OpenWrt交叉编译环境,C语言编译Hello,World
- 百度地图之一百度地图搭建开发环境
- 自己动手搭建 MongoDB 环境,并建立一个 .NET HelloWorld 程序测试
- 百度地图之一百度地图搭建开发环境(老罗视频笔记整理)
- java 环境搭建,以及hello,world 。