iMobile与Online在线场景数据的交互
作者:xinxin
在SuperMap iMobile for Android中可以打開和加載數據,不僅支持離線三維數據,也支持在線的三維數據。下面將介紹三維數據的發布和與iMobile for Android的對接,在9D版本前SuperMap iMobile for Android支持在iServer中發布的三維數據,在9D版本后開始支持在SuperMap Online上發布的三維數據。
一、 iMobile與iServer上三維數據對接
1、 iServer上發布三維數據
(1) 準備數據
在iDesktop中將場景切成場景緩存,建議一般模型圖層選osgb類型切,地形圖層選tin類型切,在【基本信息】的緩存用途中選“Android系列設備”,如果這個數據打算在IOS設備上加載就選“IOS系列設備”,然后點生成即可。如果是用9D以前的iDesktop切的,生成場景緩存后進行紋理壓縮,可以優化緩存數據在移動端的顯示性能。
(2) 發布數據
啟動iServer服務,登入iServer,進入【服務管理】,點擊快速發布一個或一組服務,然后發布場景緩存的工作空間,按照發布的提示快速發布。發布成功后在【服務列表】中的【三維數據】中顯示發布成功的三維數據。
2、 iMobile中加載三維數據
在iMobile中打開在線三維數據前需要知道打開三維數據對應的URL和場景名稱,我這的測試關鍵代碼如下:
String url = “http://192.168.15.71:8090/iserver/services/3D-MaSai/rest/realspace”; //其中url的ip是發布三維場景服務器的ip String sceneName = "MaSai"; sceneControl.getScene().open(url,sceneName); sceneControl.getScene().refresh();二、 iMobile與Online上三維數據對接
1、 Online上發布三維數據
(1) 數據準備
切場景緩存和上面的步驟類似,切完場景緩存后需要打成.zip包,才能在SuperMap Online中上傳;由于移動端底層做了一個場景緩存過濾,所以.zip包要以xxx_android.zip(xxx最好是小寫字母)命名,由于后面獲取數據服務名是包名,所以場景緩存中的場景名要和zip包名一致(即xxx_android),否則加載的時候要單獨寫場景名。
(2) 數據上傳
數據準備好后,在瀏覽器中輸入https://www.supermapol.com/,進入SuperMap Online網頁,然后用郵箱或手機注冊用戶,注冊成功后再登入,如下圖:
登入后,點擊【數據】-【上傳數據】進入【我的資源】,在【我的數據】中點【上傳數據】即可,然后根據提示選要上傳的zip包數據,最后點上傳,如下圖:
上傳成功后在狀態欄顯示“上傳成功”,如下圖:
(3) 數據發布
數據上傳成功后發布服務,點擊操作中的第一個圖標,如下圖:
發布成功后,狀態顯示“發布完成”,如下圖:
2、 iMobile中加載三維數據
SuperMap Online中的數據分公有數據和私有數據,和SuperMap iMobile for Android的對接方式不一樣,具體實現如下:
(1) iMobile打開公有數據
SuperMap Online上的公有數據只有Online的管理員才能發布,用iMobile for Android對接的時候不需要登入自己的Online用戶,直接獲取公有的服務數據,然后加載到場景中,實現的關鍵代碼如下:
加載到場景后的效果圖如下:
(2) iMobile打開私有數據
在SuperMap Online發布了私有的三維數據后,在iMobile for Android先要登入Online,然后在獲取私有的服務數據,最后加載到場景中,關鍵代碼如下:
加載到場景中的效果圖如下:
注意:SuperMap Online每個用戶只能免費上傳500M的數據,且5000次/天 數據訪問量,如果想擴大上傳數據量和數據訪問量,需要該買,具體標準如下圖:
總結
以上是生活随笔為你收集整理的iMobile与Online在线场景数据的交互的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 螺旋矩阵(c语言实现)
- 下一篇: 好用的记笔记软件(完全免费)