UNPKG

@nativescript-community/ui-carto

Version:

NativeScript plugin for CARTO Mobile SDK

125 lines 5.84 kB
import { mapPosVectorFromArgs, nativeProperty } from '..'; import { BaseRoutingService, RoutingResult } from './index.common'; import { JSVariantToNative, nativeVariantToJS } from '../utils'; export * from './index.common'; export var RoutingAction; (function (RoutingAction) { RoutingAction[RoutingAction["HEAD_ON"] = 0] = "HEAD_ON"; RoutingAction[RoutingAction["FINISH"] = 1] = "FINISH"; RoutingAction[RoutingAction["NO_TURN"] = 2] = "NO_TURN"; RoutingAction[RoutingAction["GO_STRAIGHT"] = 3] = "GO_STRAIGHT"; RoutingAction[RoutingAction["TURN_RIGHT"] = 4] = "TURN_RIGHT"; RoutingAction[RoutingAction["UTURN"] = 5] = "UTURN"; RoutingAction[RoutingAction["TURN_LEFT"] = 6] = "TURN_LEFT"; RoutingAction[RoutingAction["REACH_VIA_LOCATION"] = 7] = "REACH_VIA_LOCATION"; RoutingAction[RoutingAction["ENTER_ROUNDABOUT"] = 8] = "ENTER_ROUNDABOUT"; RoutingAction[RoutingAction["LEAVE_ROUNDABOUT"] = 9] = "LEAVE_ROUNDABOUT"; RoutingAction[RoutingAction["STAY_ON_ROUNDABOUT"] = 10] = "STAY_ON_ROUNDABOUT"; RoutingAction[RoutingAction["START_AT_END_OF_STREET"] = 11] = "START_AT_END_OF_STREET"; RoutingAction[RoutingAction["ENTER_AGAINST_ALLOWED_DIRECTION"] = 12] = "ENTER_AGAINST_ALLOWED_DIRECTION"; RoutingAction[RoutingAction["LEAVE_AGAINST_ALLOWED_DIRECTION"] = 13] = "LEAVE_AGAINST_ALLOWED_DIRECTION"; RoutingAction[RoutingAction["GO_UP"] = 14] = "GO_UP"; RoutingAction[RoutingAction["GO_DOWN"] = 15] = "GO_DOWN"; RoutingAction[RoutingAction["WAIT"] = 16] = "WAIT"; })(RoutingAction || (RoutingAction = {})); export class RoutingService extends BaseRoutingService { calculateRoute(options, profile = this.profile, jsonStr = false) { return new Promise((resolve, reject) => { const nRequest = NTRoutingRequest.alloc().initWithProjectionPoints(options.projection.getNative(), mapPosVectorFromArgs(options.points)); if (options.customOptions) { Object.keys(options.customOptions).forEach((k) => { nRequest.setCustomParameterValue(k, JSVariantToNative(options.customOptions[k])); }); } AKRoutingServiceAdditions.calculateRoute(this.getNative(), nRequest, profile, jsonStr, (res, strRes) => { resolve(strRes || (res ? new RoutingResult(res) : null)); }); }); } routingResultToJSON(routingResult) { return new Promise((resolve, reject) => { try { resolve(AKRoutingServiceAdditions.stringifyRouteResult(routingResult.getNative())); } catch (error) { reject(error); } }); } } __decorate([ nativeProperty ], RoutingService.prototype, "profile", void 0); class ValhallaRoutingService extends RoutingService { matchRoute(options, profile = this.profile) { return new Promise((resolve, reject) => { const nRequest = NTRouteMatchingRequest.alloc().initWithProjectionPointsAccuracy(options.projection.getNative(), mapPosVectorFromArgs(options.points), options.accuracy); if (options.customOptions) { Object.keys(options.customOptions).forEach((k) => { nRequest.setCustomParameterValue(k, JSVariantToNative(options.customOptions[k])); }); } AKRoutingServiceAdditions.matchRoute(this.getNative(), nRequest, this.profile, resolve); }); } setConfigurationParameter(param, value) { const native = this.getNative(); if (!(native instanceof NTValhallaOnlineRoutingService)) { native.setConfigurationParameterValue(param, JSVariantToNative(value)); } } getConfigurationParameter(param) { const native = this.getNative(); if (!(native instanceof NTValhallaOnlineRoutingService)) { return nativeVariantToJS(native.getConfigurationParameter(param)); } } addLocale(key, json) { const native = this.getNative(); if (!(native instanceof NTValhallaOnlineRoutingService)) { native.addLocaleJson(key, json); } } } export class PackageManagerRoutingService extends RoutingService { createNative(options) { return NTPackageManagerRoutingService.alloc().initWithPackageManager(options.packageManager.getNative()); } } export class SGREOfflineRoutingService extends RoutingService { createNative(options) { return NTSGREOfflineRoutingService.alloc().initWithProjectionFeatureCollectionConfig(options.projection.getNative(), options.features.getNative(), JSVariantToNative(options.config)); } } export class OSRMOfflineRoutingService extends RoutingService { createNative(options) { return NTOSRMOfflineRoutingService.alloc().initWithPath(options.path); } } export class ValhallaOfflineRoutingService extends ValhallaRoutingService { createNative(options) { return NTValhallaOfflineRoutingService.alloc().initWithPath(options.path); } } export class MultiValhallaOfflineRoutingService extends ValhallaRoutingService { createNative(options) { return NTMultiValhallaOfflineRoutingService.alloc().init(); } add(database) { this.getNative().add(database); } remove(database) { this.getNative().remove(database); } } export class ValhallaOnlineRoutingService extends ValhallaRoutingService { createNative(options) { return NTValhallaOnlineRoutingService.alloc().initWithApiKey(options.apiKey); } } export class PackageManagerValhallaRoutingService extends ValhallaRoutingService { createNative(options) { return NTPackageManagerValhallaRoutingService.alloc().initWithPackageManager(options.packageManager.getNative()); } } //# sourceMappingURL=index.ios.js.map