码迷,mamicode.com
首页 > 其他好文 > 详细

01.(最新版)百度地图§环境配置

时间:2015-05-09 01:23:49      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:百度地图   android   

转载请标明:http://blog.csdn.net/u012637501/article/details/45588377

一、Eclipse工程环境配置

1.下载SDK与申请Key

    参见http://developer.baidu.com/map/index.php?title=androidsdk/guide/key。需要注意的是,在执行keytool命令出现命令不存在异常。keytool工具在JDK的bin文件夹下面,可以将bin目录的绝对路径添加到PATH环境变量中即可。

百度地图开发者:http://developer.baidu.com/map/

2.添加jar包、.so文件到工程

    在工程里新建libs文件夹,将开发包里的BaiduLBS_Android.jar(基础地图&定位)拷贝到libs根目录下,将libBaiduMapSDK_v3_4_0_7.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

技术分享

3.勾选" Android Private Libraries"

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

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

(2) Project -> clean

4.

在AndroidManifest.xml中添加开发密钥、所需权限等信息

    由于要调用百度地图的相关数据,因此需要添加相应的权限,我们可以通过查看下载的百度地图的示例文件,从它的AndroidManifest.xml中进行拷贝即可,或者运行时根据提示信息一个个进行添加。
(1)在application中添加开发密钥与对屏幕的支持
  1.    <!-- 添加对屏幕的支持 -->
  2.  <supports-screens
  3.          android:largeScreens="true"
  4.          android:normalScreens="true" android:smallScreens="true"
  5.          android:resizeable="true" android:anyDensity="true"/>
  6. <application>     
  7.     <meta-data    
  8.         android:name="com.baidu.lbsapi.API_KEY"    
  9.         android:value="开发者申请的 key" />           
  10. </application> 
(2)添加所需权限
  1. <uses-permission android:name="android.permission.GET_ACCOUNTS" />     
  2. <uses-permission android:name="android.permission.USE_CREDENTIALS" />    
  3. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />    
  4. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />    
  5. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
  6. <uses-permission android:name="android.permission.INTERNET" />    
  7. <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />    
  8. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    
  9. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    
  10. <uses-permission android:name="android.permission.READ_PHONE_STATE" />    
  11. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    
  12. <uses-permission android:name="android.permission.BROADCAST_STICKY" />    
  13. <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 

二、百度地图SDK的核心API介绍
1.SDKInitializer类 
(1)作用:初始化 SDK context 全局变量,指定 sdcard 路径
(2)静态成员变量
static SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR :网络错误广播 action string 
static SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR :|key 验证失败广播 action string 
static SDK_BROADTCAST_INTENT_EXTRA_INFO_KEY_ERROR_CODE :key 验证失败广播 intent 中附加信息错误码键
(3)静态成员方法
static void initialize(Context context)
初始化全局 context。
static void initialize(java.lang.String sdcardPath, Context context)
初始化全局 context,指定 sdcard 路径,若采用默认路径,请使用initialize(Context context) 重载函数
2.MapView类
(1)作用
    一个显示地图的视图(View),它负责从服务端获取地图数据。它将会捕捉屏幕触控手势事件, 使用这个类必须按照它的生命周期进行操控,你必须参照以下方法onCreate(Bundle)、 onResume()、onPause()、onDestroy()等声明周期函数。在使用地图组件之前请确保已经调用了 SDKInitializer.initialize(Context) 函数以提供全局 Context 信息
(2)构造方法
    MapView(Context context)
    根据给定的上下文参数构造一个MapView 的新对象
(3)常用方法
void addView(View child, LayoutParams params) :向MapView中添加一个子View。 
BaiduMap getMap() :获取地图控制器BaiduMap对象 
void onDestroy() :当Activity销毁时调用地图的销毁 
void onPause() :当Activity暂停的时候调用地图暂停 
void onResume() :当Activity唤醒是调用地图唤醒 
void removeView(View view) :|从MapView中移除一个子View 
void setScaleControlPosition(Point p): 设置比例尺控件的位置,在 onMapLoadFinish 后生效 
void setZoomControlsPosition(Point p) :设置缩放控件的位置,在 onMapLoadFinish 后生效 
void showScaleControl(boolean show) :设置是否显示比例尺控件 
void showZoomControls(boolean show): 设置是否显示缩放控件
参考文档:http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_4_0/
三、百度地图实例
1.在布局xml文件中添加地图控件
  1. <com.baidu.mapapi.map.MapView     
  2.     android:id="@+id/bmapView"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:clickable="true" />  
2.在应用程序创建时初始化 SDK引用的Context 全局变量
    在SDK各功能组件使用之前都需要调用SDKInitializer.initialize(getApplicationContext());该方法要再setContentView方法之前实现。 
3.创建地图Activity,启动地图并管理地图生命周期 
  1. package base.baidu.oncampus;  
  2. import android.app.Activity;   
  3. import android.os.Bundle;  
  4. import com.baidu.mapapi.SDKInitializer;  
  5. import com.baidu.mapapi.map.MapView;  
  6. public class MainActivity extends Activity {  
  7.     MapView mapView = null;  
  8.  protected void onCreate(Bundle savedInstanceState) {  
  9.         super.onCreate(savedInstanceState);  
  10.         SDKInitializer.initialize(getApplicationContext()); //在使用SDK各组件之前初始化context信息,传入AplicationContext  
  11.         setContentView(R.layout.main);  
  12.         mapView = (MapView)findViewById(R.id.bmapView);  //获取地图控件引用  
  13.  }  
  14.  @Override  
  15.  protected void onDestroy() {  
  16.   mapView.onDestroy();   //关闭百度地图  
  17.   super.onDestroy();  
  18.  }  
  19.  @Override  
  20.  protected void onPause() {  
  21.   mapView.onPause();     //暂停使用百度地图  
  22.   super.onPause();  
  23.  }  
  24.  @Override  
  25.  protected void onResume() {  
  26.   mapView.onResume();    //恢复使用百度地图  
  27.   super.onResume();  
  28.  }     
  29.  
运行结果:
技术分享
技术分享
参考资料:

01.(最新版)百度地图§环境配置

标签:百度地图   android   

原文地址:http://blog.csdn.net/u012637501/article/details/45588377

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!