@nativescript-community/ui-carto
Version:
NativeScript plugin for CARTO Mobile SDK
125 lines • 5.84 kB
JavaScript
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