可加入QQ群397178710交流
细节
1如何导入PanoramaGL类库?
1.1从源代码中导入
(1)下载PanoramaGL_0.1.zip或从代码仓库下载源代码(2)如果你下载zip文件然后解压该文件(3)在Eclipse中导入PanoramaGL项目:点击“File”选择“Import”菜单;选择“General”目录中的“Existing Projects into Workspace”,点击“Next”按钮;点击“Browse”按钮,选择PanoramaGL项目文件夹点击“Finish”按钮。(4)右键单击你的项目并选择“Properties”选项(5)选择左侧面板“Android”选项(6)找到右侧面板“Library”部分,点击“Add...”按钮(7)选择“PanoramaGL”类库,点击“OK”按钮(8)在属性窗口的右下角选择“OK”按钮表示接受更改1.2从编译后的文件中导入
(1)下载libglues.zip(2)解压zip文件并复制到你的项目的“libs”文件夹中(3)下载PanoramaGL 0.1.jar(4)复制jar文件到你的项目的“libs”文件夹中(5)在你的项目中导入jar文件:右键单击你的项目并选择“Properties”选项;选择左侧面板“Java Build Path”选项;选择“Libraries”选项卡;点击“Add JARs”按钮;在你的项目中选择“libs/PanoramaGL_0.1.jar”文件;点击“OK”按钮;在属性窗口的右下角选择“OK”按钮表示接受更改。2在应用程序中如何使用PanoramaGL?
(1)如前面描述那样导入类库(2)在“res/raw”文件夹中导入一个球面图像(如:pano_sphere.jpg)(3)在Activity中,你需要构建一个全景图像的查看器,具体做法如下:继承PLView类
在onCreate()方法中加载全景图像
注意:如果有必要的话,你也可以从其他方法中加载全景图像或事件。3简单JSON协议
同样,你可以使用JSON协议加载全景图像。注意:在该版本中,JSON协议被限制只处理本地文件。3.1源代码
注意:在我的应用程序的“res/raw”文件夹中有一个名为“json_spherical.data”的文件,可以使用这段代码加载。或
注意:在Android设备的“/sdcard/files”文件夹中有一个名为“json_spherical.data”的文件,可以使用这段代码加载。3.2JSON协议
3.3看到
PLJSONLoader类和PLView加载方法。json_spherical.data、json_spherical2、json_cylindrical.data和json_cubic.data都位于 HelloPanoramaGL 示例的“res/raw”文件夹中。
个人心得:panorama.addHotspot //添加展向热点panorama.getCamera().lookAt(0.0f, -25.0f);//设置初始角度panorama.getCamera().setPitchMax(0.0f);panorama.getCamera().setPitchMin(0.0f); //设置最大角度
//横向偏转角度回调publicvoid onDidRotateCamera(PLIView view, Object sender,PLICamera camera, float pitch, float yaw, float roll) {
super .onDidRotateCamera(view, sender, camera, pitch, yaw, roll);
Log.d ( "pitch" , String. valueOf(pitch));
// Message msg = new Message();// if (45.0f <= yaw && yaw <= 135.0f) {//// if (y) {// msg.what = 1;// } else {// msg.what = 2;// }// Log.d("yaw ", "右");//// // id = "8d979af7-ba10-429f-b0f5-a49e26447f79";// } else if (-45.0f <= yaw && yaw <= 45.0f) {//// if (q) {// msg.what = 1;// } else {// msg.what = 2;// }// Log.d("yaw ", "前");//// } else if (135.0f <= yaw || yaw <= -135.0f) {//// if (h) {// msg.what = 1;// } else {// msg.what = 2;// }// Log.d("yaw ", "后");//// } else if (-135.0f <= yaw && yaw <= -45.0f) {//// if (z) {// msg.what = 1;// } else {// msg.what = 2;// }// Log.d("yaw ", "左");//// }// handler.sendMessage(msg);
}
});