啟動SAILS引擎

宣告SAILS與 SAILSMapView物件


在viewDidLoad中建立Sails與SailsMapView物件:

//Create sails object
sails = [[Sails alloc] init];
//Create map view
sailsMapView = [[SailsLocationMapView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view = sailsMapView;

sailsMapView是view物件,可以透過storyboard將class bundle或是透過程式方式建立mapView物件。

SAILS類別整合了定位引擎與路徑規劃引擎,SAILSMapView類別則為向量地圖顯示引擎。 透過以下設定,SAILSMapView可以自動與SAILS相互溝通:

//set map view to sails object
[sails setSailsLocationMapView:sailsMapView];

從SAILS Cloud 載入室內定位專案


當您在SAILS Cloud建立專案並完成了地圖繪製與定位佈建,即可於SDK中透過loadCloudBuilding函式將該專案載入,token與building ID獲取方式請參考第一章簡介。

[sails loadCloudBuilding:@"YOUR_TOKEN"
              buildingID:@"YOUR_BUILDING_ID"
                 success:^(void){
                  //do something if load building successfully 
                 }
                 failure:^(NSError *error) {
                  //do something if error
                 }];

在呼叫loadCloudBuilding時會連接網路至SAILS Cloud下載您最新的室內定位專案檔案,若此時用戶無網路,則會載入上次已載入的版本。因此,用戶第一次打開APP仍需要連網才可以下載使用。只要下載完成後,接下來使用SAILS SDK提供的服務(地圖顯示、定位、路徑規劃)都不再需要連網。

啟動引擎


成功載入定位專案後,即可打開定位引擎與向量地圖顯示引擎。

定位引擎:

[sails startLocatingEngine];

向量地圖的部分可讓sailsMapView載入第一個樓層物件,如下:

floorNameList = [sails getFloorNameList];
[sailsMapView loadFloorMap:[floorNameList firstObject]];

取得用戶所在位置


SAILS SDK並不提供座標,有關定位點在地圖的顯示都包含在SDK裡,開發者並不需要特別設定。 若需要取得用戶目前所在區域,可透過

NSArray* regions = [sails getCurrentInRegions];

來取得,這裡留意會用Array方式表示的原因為用戶所在的區域可能被數個LocationRegion涵蓋。

results matching ""

    No results matching ""