路徑規劃引擎使用

SAILSMapView與客製化的路徑規劃管理員


SAILSMapView中已有一個RoutingManager(透過mSAILSMapView.getRoutingManager())來進行路徑規劃管理,對於開發者來說可以很簡單的設定起始、終止點與路徑規劃種類(一般、可走樓梯、僅搭電梯、手扶梯等模式),對於一般導航APP功能已足夠。 但若需要進一步搭配應用層的UI,可能需要些許客製化,此時可參考我們Android範例中的PathRoutingManager的設計方式來進行。本章節僅對SAILSMapView中的RoutingManager來進行說明。

設定路徑規劃的起始點與終止點


起始點與終止點需透過LocationRegion物件來進行設定。

//設定起始點
mSailsMapView.getRoutingManager().setStartRegion(locationRegionStart);
//設定起始點
mSailsMapView.getRoutingManager().setTargetRegion(locationRegionTarget);

若要設定起始點為用戶所在位置,則可透過PathRoutingManager.MY_LOCATION來表示用戶當前位置作為起始點。

mSailsMapView.getRoutingManager().setStartRegion(PathRoutingManager.MY_LOCATION);

設定起終點Icon

//起點 Icon
mSailsMapView.getRoutingManager().setStartMakerDrawable(drawableStart);
//終點 Icon
mSailsMapView.getRoutingManager().setTargetMakerDrawable(drawableTarget);

路徑規劃模式設定


本SDK支援數種路徑規劃模式,其設定方式如下:

//一般模式
mSailsMapView.getRoutingManager().setRouteMode(PathRoutingManager.NORMAL_ROUTING);
//電梯與手扶梯模式
mSailsMapView.getRoutingManager().setRouteMode(PathRoutingManager.ELEVATOR_AND_ESCALATOR);
//僅走樓梯
mSailsMapView.getRoutingManager().setRouteMode(PathRoutingManager.STAIR_ONLY);
//僅走手扶梯
mSailsMapView.getRoutingManager().setRouteMode(PathRoutingManager.ESCALATOR_ONLY);
//僅走電梯
mSailsMapView.getRoutingManager().setRouteMode(PathRoutingManager.ELEVATOR_ONLY);

開始與終止路徑規劃


路徑規劃本身由Handler組成,固定每一定週期會更新一次。對於用戶來說,他可以實時取得最短路徑規劃,就算用戶走其他方向,本路徑規劃皆會告知其至目標點的最短路徑。開始與終止路徑規劃的方式如下:

//開始路徑規劃
mSailsMapView.getRoutingManager().enableHandler();
//終止路徑規劃
mSailsMapView.getRoutingManager().disableHandler();

路徑規劃有觸發事件,請參考觸發事件章節了解。

results matching ""

    No results matching ""