开发工具
Android开发工具有很多,开发者可根据自己的喜好进行选择。在此,我们推荐开发者使用Eclipse作为自己的开发工具,本套开发指南也是针对Eclipse开发环境下进行编写的。
工程配置
第一步:在工程里新建libs文件夹,将开发包里的BaiduPanoramaSDK_v2_1_0.jar拷贝到libs根目录下,将libapp_BaiduPanoApplib.so拷贝到libs\armeabi目录下。另外sdk中用到了android-support-v4.jar中的相关方法,如果您的工程中没有这个jar包,请自行引入。
开发者若使用proguard混淆项目工程, 需要在混淆配置文件中添加如下代码:
-dontwarn com.baidu.** -keep class com.baidu.**{*;}
显示全景图
百度全景SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度全景数据:
第一步:创建并配置工程(具体方法参见工程配置部分的介绍);
第二步:在Manifest中添加使用权限、Android版本支持和对应的开发密钥;
常用使用权限如下(开发者可根据自身程序需求,添加所需权限):
<uses-permission android:name="android.permission.INTERNET" /> <!-- 获取运营商信息,用于支持提供运营商信息相关的接口--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
配置Activity:
<activity android:name=". PanoramaDemoActivityMain " android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden"> </activity>
添加屏幕及版本支持:
<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true"/> <uses-sdk android:minSdkVersion="8" />
添加对应的开发密钥:
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发密钥"> </meta-data>
第三步:在布局xml文件中添加全景控件,布局文件保存为activity_main.xml:
<com.baidu.lbsapi.panoramaview.PanoramaView android:id="@+id/panorama" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" />
第四步:创建地图Activity,并import相关类:
import com.baidu.lbsapi.panoramaview.*; import com.baidu.lbsapi.BMapManager; public class PanoramaDemoActivityMain extends Activity{ @Override public void onCreate(Bundle savedInstanceState){ } }
在onCreate方法中增加以下代码:
初始化BmapManager
DemoApplication app = (DemoApplication) this.getApplication(); if (app.mBMapManager == null) { app.mBMapManager = new BMapManager(app); app.mBMapManager.init(new DemoApplication.MyGeneralListener()); } mPanoView.setPanorama("0100220000130817164838355J5");
第五步:重写以下方法,管理API:
@Override protected void onPause() { super.onPause(); mPanoView.onPause(); } @Override protected void onResume() { super.onResume(); mPanoView.onResume(); } @Override protected void onDestroy() { mPanoView.destroy(); super.onDestroy(); }
完成以上步骤后,运行程序,即可在您的应用中显示如下全景: