Newer
Older
/**
* Created by glenn on 6/13/2017.
*/
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var ajx = require("./axios");
var host_1 = require("./host");
exports.npmrdsApiUrl = host_1.apiRoot + '/npmrds';
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
function _abortHelper(x) {
if (x && x['abort']) {
x.abort();
}
}
function makeExtent(ext) {
if (!ext) {
return null;
}
if (ext.coordinates) {
if (ext.coordinates.length < 4) {
throw "npmrds api: coordinate array must have at least 3 vertices, last one closing";
}
return JSON.stringify(ext.coordinates);
}
else if (ext.bottom && ext.top && ext.left && ext.right) {
var bottom_left = [ext.left, ext.bottom];
var ext_arr = [bottom_left];
ext_arr.push([ext.left, ext.top]);
ext_arr.push([ext.right, ext.top]);
ext_arr.push([ext.right, ext.bottom]);
ext_arr.push(bottom_left);
return JSON.stringify(ext_arr);
}
else {
return undefined;
}
}
function getRoads(extent, version, callback, error) {
if (error === void 0) { error = function () {
}; }
var ext = makeExtent(extent);
if (ext == null) {
callback({ roads: [] });
}
else if (ext) {
var params = { extent: makeExtent(extent), version: version };
ajx.get(exports.npmrdsApiUrl + '/roads', function (d) {
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
if (d.error) {
error(d);
}
else {
callback(d);
}
}, params, error);
}
else {
error({ error: "invalid extent" });
}
}
exports.getRoads = getRoads;
function getGeometry(extent, version, callback, options, error) {
if (options === void 0) { options = {}; }
if (error === void 0) { error = function () {
}; }
var ext = makeExtent(extent);
if (ext == null) {
callback(empty.emptyGeometry);
}
else if (typeof ext == 'undefined') {
error({ error: "Invalid Extent" });
}
else {
var params = { extent: ext, version: version };
if (options.roadDirection) {
params['road'] = options.roadDirection.road;
params['direction'] = options.roadDirection.direction;
}
if (options.startEnd) {
params['start'] = options.startEnd.start;
params['end'] = options.startEnd.end;
}
ajx.get(exports.npmrdsApiUrl + '/geometry', function (d) {
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
if (d.error) {
error(d);
}
else {
callback(d);
}
}, params, error);
}
}
exports.getGeometry = getGeometry;
function getRoute(road, direction, version, callback, options, error) {
if (options === void 0) { options = {}; }
if (error === void 0) { error = function () {
}; }
var params = { road: road, direction: direction, version: version };
var ext;
if (options.extent) {
ext = makeExtent(options.extent);
if (ext == null) {
callback(empty.emptyRoute);
return;
}
else if (typeof ext == 'undefined') {
error({ error: "Invalid Extent" });
return;
}
}
if (ext) {
params['extent'] = ext;
}
if (options.startEnd) {
params['start'] = options.startEnd.start;
params['end'] = options.startEnd.end;
}
ajx.get(exports.npmrdsApiUrl + '/route', function (d) {
if (d.error) {
error(d);
}
else {
callback(d);
}
}, params, error);
}
exports.getRoute = getRoute;
function getTmcs(lon, lat, version, searchDist, callback, error) {
if (searchDist === void 0) { searchDist = 2000; }
if (error === void 0) { error = function () {
}; }
var params = { lon: lon, lat: lat, version: version, search: searchDist };
ajx.get(exports.npmrdsApiUrl + '/tmcs', function (d) {
if (d.error) {
error(d);
}
else {
callback(d);
}
}, params, error);
}
exports.getTmcs = getTmcs;
function getTmc(tmc, version, callback, error) {
if (error === void 0) { error = function () {
}; }
var params = { tmc: tmc, version: version };
ajx.get(exports.npmrdsApiUrl + '/tmc', function (d) {