thinkgeocloudclient-js
Version:
A JavaScript library for ThinkGeo Cloud Server.
1,329 lines (1,124 loc) • 102 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["tg"] = factory();
else
root["tg"] = factory();
})(window, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ }
/******/ };
/******/
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ __webpack_require__.t = function(value, mode) {
/******/ if(mode & 1) value = __webpack_require__(value);
/******/ if(mode & 8) return value;
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ var ns = Object.create(null);
/******/ __webpack_require__.r(ns);
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ return ns;
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/index.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./src/Advanced/BaseClient.js":
/*!************************************!*\
!*** ./src/Advanced/BaseClient.js ***!
\************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Eventable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Eventable */ "./src/Advanced/Eventable.js");
/* harmony import */ var _shared_Util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/Util */ "./src/shared/Util.js");
/* harmony import */ var _shared_AccessToken__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/AccessToken */ "./src/shared/AccessToken.js");
/* harmony import */ var _BaseClientEventType_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./BaseClientEventType.js */ "./src/Advanced/BaseClientEventType.js");
/* harmony import */ var _GettingAccessTokenEventArgs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./GettingAccessTokenEventArgs */ "./src/Advanced/GettingAccessTokenEventArgs.js");
/* harmony import */ var _SendingRequestEventArgs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SendingRequestEventArgs */ "./src/Advanced/SendingRequestEventArgs.js");
/* harmony import */ var _SentRequestEventArgs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SentRequestEventArgs */ "./src/Advanced/SentRequestEventArgs.js");
class BaseClient extends _Eventable__WEBPACK_IMPORTED_MODULE_0__["default"] {
constructor(apiKey) {
super();
this.baseUrls_ = [
'https://cloud1.thinkgeo.com',
'https://cloud2.thinkgeo.com',
'https://cloud3.thinkgeo.com',
'https://cloud4.thinkgeo.com',
'https://cloud5.thinkgeo.com',
'https://cloud6.thinkgeo.com'
];
this.baseUrlIndex_ = -1;
this.authNames_ = [];
this.authentications_ = {
'API Key': {
type: 'apiKey',
in: 'query',
name: 'ApiKey'
},
'Client Credentials': {
type: 'oauth2'
}
};
if (apiKey) {
this.authentications_["API Key"]["apiKey"] = apiKey;
this.authNames_.push("API Key");
}
}
getNextCandidateBaseUri() {
this.baseUrlIndex_++;
if (this.baseUrls_) {
let baseUrlsLength = this.baseUrls_.length;
if (this.baseUrlIndex_ > baseUrlsLength - 1) {
this.baseUrlIndex_ = 0;
}
return this.baseUrls_[this.baseUrlIndex_];
}
else {
throw new ThinkGeoCloudApplicationException("the urls is empty, please set it in option of client");
}
}
callApi(path, httpMethod, pathParams, queryParams, bodyParam, authNames, contentTypes, returnType, callback) {
let params = {
queryObj: queryParams
}
if (httpMethod.toLowerCase() === 'post') {
params["setHeaderObj"] = {
"Content-type": contentTypes
}
}
let applyAuthNames = authNames === undefined ? this.authNames_ : authNames;
let xhr = new XMLHttpRequest();
params = _shared_Util__WEBPACK_IMPORTED_MODULE_1__["default"].applyAuthToRequest(applyAuthNames, this.authentications_, params);
let url = _shared_Util__WEBPACK_IMPORTED_MODULE_1__["default"].buildUrl(this.getNextCandidateBaseUri(), path, pathParams, params.queryObj);
xhr.open(httpMethod, url, true);
if(params.setHeaderObj){
_shared_Util__WEBPACK_IMPORTED_MODULE_1__["default"].setRequestHeader(xhr, params.setHeaderObj);
}
if (returnType) {
if (returnType.toLowerCase() === 'blob') {
xhr.responseType = "blob";
} else if (returnType.toLowerCase() === 'arrayBuffer') {
xhr.responseType = "arrayBuffer";
} else if (returnType.toLowerCase() === 'json') {
xhr.responseType = "json";
}
}
let sendingRequestEventArgs = new _SendingRequestEventArgs__WEBPACK_IMPORTED_MODULE_5__["default"](xhr);
this.fire(sendingRequestEventArgs);
if (!sendingRequestEventArgs.cancel) {
if (callback) {
sendingRequestEventArgs.xhr.onload = (event) => {
let sentRequestEventArgs = new _SentRequestEventArgs__WEBPACK_IMPORTED_MODULE_6__["default"](sendingRequestEventArgs.xhr);
this.fire(sentRequestEventArgs);
if (callback) {
callback(sentRequestEventArgs.xhr.status, sentRequestEventArgs.xhr.response);
}
}
sendingRequestEventArgs.xhr.onerror = (error) => {
if (callback) {
callback("error", error.type);
}
}
}
if (bodyParam) {
sendingRequestEventArgs.xhr.send(bodyParam);
} else {
sendingRequestEventArgs.xhr.send();
}
}
}
formatResponse(response) {
return response;
}
disposeCore() {
}
}
/* harmony default export */ __webpack_exports__["default"] = (BaseClient);
/***/ }),
/***/ "./src/Advanced/BaseClientEventType.js":
/*!*********************************************!*\
!*** ./src/Advanced/BaseClientEventType.js ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony default export */ __webpack_exports__["default"] = ({
GETTINGACCESSTOKEN: "gettingaccesstoken",
SENDINGREQUEST: "sendingrequest",
SENTREQUEST: "sentrequest"
});
/***/ }),
/***/ "./src/Advanced/Disposable.js":
/*!************************************!*\
!*** ./src/Advanced/Disposable.js ***!
\************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
class Disposable {
constructor() {
this.disposed_ = false;
}
dispose() {
if (!this.disposed_) {
this.disposed_ = true;
this.disposeCore();
}
}
disposeCore() {
}
}
/* harmony default export */ __webpack_exports__["default"] = (Disposable);
/***/ }),
/***/ "./src/Advanced/Eventable.js":
/*!***********************************!*\
!*** ./src/Advanced/Eventable.js ***!
\***********************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Disposable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Disposable */ "./src/Advanced/Disposable.js");
class Eventable extends _Disposable__WEBPACK_IMPORTED_MODULE_0__["default"] {
constructor() {
super();
this.listeners_ = {};
}
on(type, listener) {
let listeners = this.listeners_[type];
if (!listeners) {
listeners = this.listeners_[type] = [];
}
if (listeners.indexOf(listener) === -1) {
listeners.push(listener);
}
}
fire(event) {
const listeners = this.listeners_[event.type];
if (listeners) {
for (let i = 0; i < listeners.length; ++i) {
listeners[i].call(this, event);
}
}
}
un(type, listener) {
const listeners = this.listeners_[type];
if (listeners) {
const index = listeners.indexOf(listener);
listeners.splice(index, 1);
if (listeners.lengtxlh === 0) {
delete this.listeners_[type];
}
}
}
unAll() {
this.listeners_ = {};
}
disposeCore() {
unAll(this);
}
}
/* harmony default export */ __webpack_exports__["default"] = (Eventable);
/***/ }),
/***/ "./src/Advanced/GettingAccessTokenEventArgs.js":
/*!*****************************************************!*\
!*** ./src/Advanced/GettingAccessTokenEventArgs.js ***!
\*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClientEventType */ "./src/Advanced/BaseClientEventType.js");
class GettingAccessTokenEventArgs {
constructor(xhr, cancel) {
this.xhr = xhr;
this.cancel = cancel;
this.type = _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__["default"].GETTINGACCESSTOKEN
}
}
/* harmony default export */ __webpack_exports__["default"] = (GettingAccessTokenEventArgs);
/***/ }),
/***/ "./src/Advanced/SendingRequestEventArgs.js":
/*!*************************************************!*\
!*** ./src/Advanced/SendingRequestEventArgs.js ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClientEventType */ "./src/Advanced/BaseClientEventType.js");
class SendingRequestEventArgs {
constructor(xhr, cancel) {
this.xhr = xhr;
this.cancel = cancel;
this.type = _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__["default"].SENDINGREQUEST;
}
}
/* harmony default export */ __webpack_exports__["default"] = (SendingRequestEventArgs);
/***/ }),
/***/ "./src/Advanced/SentRequestEventArgs.js":
/*!**********************************************!*\
!*** ./src/Advanced/SentRequestEventArgs.js ***!
\**********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClientEventType */ "./src/Advanced/BaseClientEventType.js");
class SentRequestEventArgs {
constructor(xhr) {
this.xhr = xhr
this.type = _BaseClientEventType__WEBPACK_IMPORTED_MODULE_0__["default"].SENTREQUEST;
}
}
/* harmony default export */ __webpack_exports__["default"] = (SentRequestEventArgs);
/***/ }),
/***/ "./src/Advanced/ThinkGeoCloudApplicationException.js":
/*!***********************************************************!*\
!*** ./src/Advanced/ThinkGeoCloudApplicationException.js ***!
\***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
class ThinkGeoCloudApplicationException extends Error {
constructor(message, code, e) {
super(message);
this.code = code;
this.message = message;
this.e = e;
}
}
/* harmony default export */ __webpack_exports__["default"] = (ThinkGeoCloudApplicationException);
/***/ }),
/***/ "./src/ColorUtilities/ColorClient.js":
/*!*******************************************!*\
!*** ./src/ColorUtilities/ColorClient.js ***!
\*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js");
/* harmony import */ var _Advanced_ThinkGeoCloudApplicationException__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Advanced/ThinkGeoCloudApplicationException */ "./src/Advanced/ThinkGeoCloudApplicationException.js");
class ColorClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] {
constructor(apiKey) {
super(apiKey);
}
getColorsInAnalogousFamily(options, callback) {
let opts = options || {};
let inputColor = opts["color"];
let numberOfColors = opts["numberOfColors"];
// verify the required parameter 'numberOfColors' is set
if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') {
throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInAnalogousFamily");
}
let path = '/api/v1/color/scheme/analogous/random/{numberOfColors}';
let pathParams = {
'numberOfColors': numberOfColors
};
let queryParams = {
'outFormat': opts['outFormat'],
};
if (inputColor) {
path = '/api/v1/color/scheme/analogous/{inputColor}/{numberOfColors}';
pathParams.inputColor = inputColor;
queryParams.inFormat = opts['inFormat']
}
let httpMethod = 'GET';
let bodyParam = {};
var contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
getColorsInComplementaryFamily(options, callback) {
let opts = options || {};
let inputColor = opts["color"];
let numberOfColors = opts["numberOfColors"];
// verify the required parameter 'numberOfColors' is set
if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') {
throw new Error("Missing the required parameter 'numberOfColors' when calling getColorSchemeComplementaryRandomByNumberOfColorV1");
}
let path = '/api/v1/color/scheme/complementary/random/{numberOfColors}';
let pathParams = {
'numberOfColors': numberOfColors
};
let queryParams = {
'outFormat': opts['outFormat'],
};
if (inputColor) {
path = '/api/v1/color/scheme/complementary/{inputColor}/{numberOfColors}';
pathParams.inputColor = inputColor;
queryParams.inFormat = opts['inFormat'];
}
let httpMethod = 'GET';
let bodyParam = {};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
getColorsInContrastingFamily(options, callback) {
let opts = options || {};
let inputColor = opts["color"];
let numberOfColors = opts["numberOfColors"];
// verify the required parameter 'numberOfColors' is set
if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') {
throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInContrastingFamily");
}
let path = '/api/v1/color/scheme/contrasting/random/{numberOfColors}';
let pathParams = {
'numberOfColors': numberOfColors
};
let queryParams = {
'outFormat': opts['outFormat'],
};
if (inputColor) {
path = '/api/v1/color/scheme/contrasting/{inputColor}/{numberOfColors}';
pathParams.inputColor = inputColor;
queryParams.inFormat = opts['inFormat']
}
let httpMethod = 'GET';
let bodyParam = {};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
getColorsInHueFamily(options, callback) {
let opts = options || {};
let inputColor = opts["color"];
let numberOfColors = opts["numberOfColors"];
// verify the required parameter 'numberOfColors' is set
if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') {
throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInHueFamily");
}
let path = '/api/v1/color/scheme/sequential/random/{numberOfColors}';
let pathParams = {
'numberOfColors': numberOfColors
};
let queryParams = {
'outFormat': opts['outFormat'],
};
if (inputColor) {
path = '/api/v1/color/scheme/sequential/{inputColor}/{numberOfColors}';
pathParams.inputColor = inputColor;
queryParams.inFormat = opts['inFormat'];
}
let httpMethod = 'GET';
let bodyParam = {};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
getColorsInQualityFamily(options, callback) {
let opts = options || {};
let inputColor = opts['color'];
let numberOfColors = opts['numberOfColors'];
// verify the required parameter 'numberOfColors' is set
if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') {
throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInQualityFamily");
}
let path = '/api/v1/color/scheme/qualitative/random/{numberOfColors}';
let pathParams = {
'numberOfColors': numberOfColors
};
let queryParams = {
'outFormat': opts['outFormat'],
};
if (inputColor) {
path = '/api/v1/color/scheme/qualitative/{inputColor}/{numberOfColors}';
pathParams.inputColor = inputColor;
queryParams.inFormat = opts['inFormat'];
}
let httpMethod = 'GET';
let bodyParam = {};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
getColorsInTetradFamily(options, callback) {
let opts = options || {};
let inputColor = opts['color'];
let numberOfColors = opts['numberOfColors'];
// verify the required parameter 'numberOfColors' is set
if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') {
throw new Error("Missing the required parameter 'numberOfColors' when calling getColorSchemeTetradRandomByNumberOfColor");
}
let path = '/api/v1/color/scheme/tetrad/random/{numberOfColors}';
let pathParams = {
'numberOfColors': numberOfColors
};
let queryParams = {
'outFormat': opts['outFormat'],
};
if (inputColor) {
path = '/api/v1/color/scheme/tetrad/{inputColor}/{numberOfColors}';
pathParams.inputColor = inputColor;
queryParams.inFormat = opts['inFormat'];
}
let httpMethod = 'GET';
let bodyParam = {};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
getColorsInTriadFamily(options, callback) {
let opts = options || {};
let inputColor = opts['color'];
let numberOfColors = opts['numberOfColors'];
// verify the required parameter 'numberOfColors' is set
if (numberOfColors === undefined || numberOfColors === null || numberOfColors === '') {
throw new Error("Missing the required parameter 'numberOfColors' when calling getColorsInTriadFamily");
}
let path = '/api/v1/color/scheme/triad/random/{numberOfColors}';
let pathParams = {
'numberOfColors': numberOfColors
};
let queryParams = {
'outFormat': opts['outFormat'],
};
if (inputColor) {
path = '/api/v1/color/scheme/triad/{inputColor}/{numberOfColors}';
pathParams.inputColor = inputColor;
queryParams.inFormat = opts['inFormat'];
}
let httpMethod = 'GET';
let bodyParam = {};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
}
/* harmony default export */ __webpack_exports__["default"] = (ColorClient);
/***/ }),
/***/ "./src/Elevation/ElevationClient.js":
/*!******************************************!*\
!*** ./src/Elevation/ElevationClient.js ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js");
class ElevationClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] {
constructor(apiKey) {
super(apiKey);
}
getElevationOfPoint(options, callback) {
let opts = options || {};
let pointX = opts['pointX'];
let pointY = opts['pointY'];
let path = '/api/v1/elevation/{pointY},{pointX}';
let httpMethod = 'GET';
let pathParams = {
'pointY': pointY,
'pointX': pointX
};
let queryParams = {
'Srid': opts['srid'],
'Proj4String': opts['proj4String'],
'ElevationUnit': opts['elevationUnit'],
};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, undefined, undefined, contentTypes, returnType, callback);
}
getElevationOfPoints(options, callback) {
let opts = options || {};
let path = '/api/v1/elevation/point/multi';
let httpMethod = 'POST';
let queryParams = {
'Srid': opts['srid'],
'Proj4String': opts['proj4String'],
'ElevationUnit': opts['elevationUnit'],
};
let bodyParam = JSON.stringify(opts['body']);
let contentTypes = ['application/json-patch+json', 'application/json', 'text/json', 'application/_*+json'];
let returnType = 'json';
this.callApi(path, httpMethod, undefined, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
getElevationOfLine(options, callback) {
let opts = options || {};
let wkt = opts['wkt'];
let path = '/api/v1/elevation/line';
let httpMethod = 'GET';
let pathParams = {};
let queryParams = {
'wkt': wkt,
'Srid': opts['srid'],
'Proj4String': opts['proj4String'],
'NumberOfSegments': opts['numberOfSegments'],
'ElevationUnit': opts['elevationUnit'],
'IntervalDistance': opts['intervalDistance'],
'IntervalDistanceUnit': opts['intervalDistanceUnit'],
};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, undefined, undefined, contentTypes, returnType, callback);
}
getGradeOfLine(options, callback) {
let opts = options || {};
let wkt = opts['wkt'];
let path = '/api/v1/elevation/grade/line';
let httpMethod = 'GET';
let queryParams = {
'wkt': wkt,
'Srid': opts['srid'],
'Proj4String': opts['proj4String'],
'NumberOfSegments': opts['numberOfSegments'],
'ElevationUnit': opts['elevationUnit'],
'IntervalDistance': opts['intervalDistance'],
'IntervalDistanceUnit': opts['intervalDistanceUnit'],
};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, undefined, queryParams, undefined, undefined, contentTypes, returnType, callback);
}
getElevationOfArea(options, callback) {
let opts = options || {};
let wkt = opts['wkt'];
let path = '/api/v1/elevation/area';
let httpMethod = 'GET';
let pathParams = {};
let queryParams = {
'wkt': wkt,
'Srid': opts['srid'],
'Proj4String': opts['proj4String'],
'IntervalDistance': opts['intervalDistance'],
'IntervalDistanceUnit': opts['intervalDistanceUnit'],
'ElevationUnit': opts['elevationUnit'],
};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, undefined, undefined, contentTypes, returnType, callback);
}
}
/* harmony default export */ __webpack_exports__["default"] = (ElevationClient);
/***/ }),
/***/ "./src/Geocoding/GeocodingClient.js":
/*!******************************************!*\
!*** ./src/Geocoding/GeocodingClient.js ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js");
class GeocodingClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] {
constructor(apiKey) {
super(apiKey);
}
search(options, callback) {
let opts = options || {};
let location = opts['location'];
let body = opts['body'];
if (location != undefined) {
this.searchByPoint(location, callback, opts);
}
else if (body != undefined) {
this.searchBatch(opts, callback);
}
}
searchByPoint(location, callback, options) {
if (location === undefined || location === null || location === '') {
throw new Error("Missing the required parameter 'searchText' when calling searchByPoint");
}
let path = '/api/v2/location/geocode/{searchText}';
let httpMethod = 'GET';
let pathParams = {
'searchText': location
};
let queryParams = options || {};
delete queryParams["location"];
let bodyParam = {};
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
searchBatch(options, callback) {
let opts = options || {};
let path = '/api/v2/location/geocode/multi';
let httpMethod = 'POST';
let pathParams = {
};
let queryParams = options || {};
delete queryParams["body"];
let bodyParam = opts['body'];
let contentTypes = ['application/json-patch+json', 'application/json', 'text/json', 'application/_*+json'];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
}
/* harmony default export */ __webpack_exports__["default"] = (GeocodingClient);
/***/ }),
/***/ "./src/MapsQuery/MapsQueryClient.js":
/*!******************************************!*\
!*** ./src/MapsQuery/MapsQueryClient.js ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js");
/* harmony import */ var _constants_DistanceUnit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/DistanceUnit */ "./src/constants/DistanceUnit.js");
class MapsQueryClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] {
constructor (apiKey){
super(apiKey);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesWithin(layerName, wkt, callback, options) {
this._spatialQuery(layerName, wkt, 'within', callback, options);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesContaining(layerName, wkt, callback, options) {
this._spatialQuery(layerName, wkt, 'containing', callback, options);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesIntersecting(layerName, wkt, callback, options) {
this._spatialQuery(layerName, wkt, 'intersecting', callback, options);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesOverlapping(layerName, wkt, callback, options) {
this._spatialQuery(layerName, wkt, 'overlapping', callback, options);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesTouching(layerName, wkt, callback, options) {
this._spatialQuery(layerName, wkt, 'touching', callback, options);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* searchRadius:number,
* searchRadiusUnit:DistanceUnit,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesNearest(layerName, wkt, callback, options) {
if (layerName === undefined || layerName === null || layerName === '') {
throw new Error('Missing the required parameter \'layerName\' when calling getFeaturesNearest');
}
if (wkt === undefined || wkt === null || wkt === '') {
throw new Error('Missing the required parameter \'wkt\' when calling getFeaturesNearest');
}
let opt = options || {};
let path = '/api/v1/maps/query/{queryLayer}/nearest';
let httpMethod = 'GET';
let pathParams = {
queryLayer: layerName,
};
let queryParams = {
Wkt: wkt,
Srid: opt['srid'],
Proj4String: opt['proj4String'],
SearchRadius: opt['searchRadius'],
SearchRadiusUnit: opt['searchRadiusUnit'],
MaxResults: opt['maxResults'],
ReturnFeatureAttributes: opt['returnFeatureAttributes'],
FeatureAttributesToReturn: opt['featureAttributesToReturn'],
};
let bodyParam = null;
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* distance:number,
* distanceUnit:DistanceUnit,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesWithinDistance(layerName, wkt, callback, options) {
if (layerName === undefined || layerName === null || layerName === '') {
throw new Error('Missing the required parameter \'layerName\' when calling getFeaturesWithinDistance');
}
if (wkt === undefined || wkt === null || wkt === '') {
throw new Error('Missing the required parameter \'wkt\' when calling getFeaturesWithinDistance');
}
let opt = options || {};
let path = '/api/v1/maps/query/{queryLayer}/within-distance';
let httpMethod = 'GET';
let pathParams = {
queryLayer: layerName,
};
let queryParams = {
Wkt: wkt,
Srid: opt['srid'],
Proj4String: opt['proj4String'],
Distance: opt['distance'],
DistanceUnit: opt['distanceUnit'],
MaxResults: opt['maxResults'],
ReturnFeatureAttributes: opt['returnFeatureAttributes'],
FeatureAttributesToReturn: opt['featureAttributesToReturn'],
};
let bodyParam = null;
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
/**
*
* @param {string} layerName
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'|'nearest'|'within-distance'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* distance:number,
* distanceUnit:DistanceUnit,
* searchRadius:number,
* searchRadiusUnit:DistanceUnit,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
getFeaturesCustom(layerName, wkt, queryType, callback, options){
if (layerName === undefined || layerName === null || layerName === '') {
throw new Error('Missing the required parameter \'layerName\' when calling getFeaturesCustom');
}
if (wkt === undefined || wkt === null || wkt === '') {
throw new Error('Missing the required parameter \'wkt\' when calling getFeaturesCustom');
}
if (queryType === undefined || queryType === null || queryType === '') {
throw new Error('Missing the required parameter \'queryType\' when calling getFeaturesCustom');
}
let opt = options || {};
let path = '/api/v1/maps/query/custom';
let httpMethod = 'POST';
let pathParams = {};
let queryParams = {};
let bodyParam = JSON.stringify({
QueryLayer: layerName,
QueryType: queryType,
Wkt: wkt,
Srid: opt['srid'],
Proj4String: opt['proj4String'],
Distance: opt['distance'],
DistanceUnit: opt['distanceUnit'],
SearchRadius: opt['searchRadius'],
SearchRadiusUnit: opt['searchRadiusUnit'],
MaxResults: opt['maxResults'],
ReturnFeatureAttributes: opt['returnFeatureAttributes'],
FeatureAttributesToReturn: opt['featureAttributesToReturn'],
});
let contentTypes = ['application/json-patch+json', 'application/json', 'text/json', 'application/_*+json'];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
/**
*
* @param {function(number, object) : undefined} callback
*/
getLayers(callback) {
let path = '/api/v1/maps/query/layers';
let httpMethod = 'GET';
let pathParams = undefined;
let queryParams = {};
let bodyParam = null;
let contentTypes = '';
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
/**
*
* @param {string} queryLayer
* @param {function(number, object) : undefined} callback
*/
getAttributesOfLayer(queryLayer, callback) {
if (queryLayer === undefined || queryLayer === null || queryLayer === '') {
throw new Error('Missing the required parameter \'layerName\' when calling getAttributesOfLayer');
}
let path = '/api/v1/maps/query/{queryLayer}/attributes';
let httpMethod = 'GET';
let pathParams = {
queryLayer: queryLayer,
};
let queryParams = undefined;
let bodyParam = null;
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
/**
*
* @param {string} queryLayer
* @param {string} wkt
* @param {'within'|'containing'|'intersecting'|'overlapping'|'touching'} queryType
* @param {function(number, object) : undefined} callback
* @param {{
* srid:number,
* proj4String:string,
* maxResults:number,
* returnFeatureAttributes:boolean
* featureAttributesToReturn:string[]}} options
*/
_spatialQuery(queryLayer, wkt, queryType, callback, options){
if (queryLayer === undefined || queryLayer === null || queryLayer === '') {
throw new Error('Missing the required parameter \'layerName\' when calling _spatialQuery');
}
if (wkt === undefined || wkt === null || wkt === '') {
throw new Error('Missing the required parameter \'wkt\' when calling _spatialQuery');
}
let opt = options || {};
let path = '/api/v1/maps/query/{queryLayer}/{queryType}';
let httpMethod = 'GET';
let pathParams = {
queryLayer: queryLayer,
queryType: queryType,
};
let queryParams = {
Wkt: wkt,
Srid: opt['srid'],
Proj4String: opt['proj4String'],
MaxResults: opt['maxResults'],
ReturnFeatureAttributes: opt['returnFeatureAttributes'],
FeatureAttributesToReturn: opt['featureAttributesToReturn'],
};
let bodyParam = null;
let contentTypes = [];
let returnType = 'json';
this.callApi(path, httpMethod, pathParams, queryParams, bodyParam, undefined, contentTypes, returnType, callback);
}
}
/* harmony default export */ __webpack_exports__["default"] = (MapsQueryClient);
/***/ }),
/***/ "./src/MapsTile/MapProjection.js":
/*!***************************************!*\
!*** ./src/MapsTile/MapProjection.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
const MapProjection = {
SphericalMercator: 3857
};
Object.freeze(MapProjection);
/* harmony default export */ __webpack_exports__["default"] = (MapProjection);
/***/ }),
/***/ "./src/MapsTile/MapsClient.js":
/*!************************************!*\
!*** ./src/MapsTile/MapsClient.js ***!
\************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Advanced/BaseClient */ "./src/Advanced/BaseClient.js");
/* harmony import */ var _RasterMapType__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RasterMapType */ "./src/MapsTile/RasterMapType.js");
class MapsClient extends _Advanced_BaseClient__WEBPACK_IMPORTED_MODULE_0__["default"] {
constructor(apiKey) {
super(apiKey);
}
getRasterTile(options, callback) {
let opts = options || {};
let z = opts['z'];
let x = opts['x'];
let y = opts['y'];
let projection = opts['projection'];
let mapType = opts['mapType'];
let tileSize = opts['tileSize'];
let tileResolution = opts['tileResolution'];
// verify the required parameter 'style' is set
if (mapType === undefined || mapType === null || mapType === '') {
throw new Error("Missing the required parameter 'mapType' when calling getRasterTile");
}
else {
switch (mapType) {
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Default:
mapType = "light";
break;
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Light:
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Dark:
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Hybrid:
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Aerial:
break;
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].TransparentBackground:
mapType = "transparent-background";
break;
default:
throw new Error("The 'style' didn't match any RasterMapType");
}
}
// verify the required parameter 'resolution' is set
if (tileResolution === undefined || tileResolution === null || tileResolution === '') {
throw new Error("Missing the required parameter 'tileResolution' when calling getRasterTile");
}
// verify the required parameter 'srid' is set
if (projection === undefined || projection === null || projection === '') {
throw new Error("Missing the required parameter 'projection' when calling getRasterTile");
}
// verify the required parameter 'tileSize' is set
if (tileSize === undefined || tileSize === null || tileSize === '') {
throw new Error("Missing the required parameter 'tileSize' when calling getRasterTile");
}
// verify the required parameter 'tileZ' is set
if (z === undefined || z === null || z === '') {
throw new Error("Missing the required parameter 'z' when calling getRasterTile");
}
// verify the required parameter 'tileX' is set
if (x === undefined || x === null || x === '') {
throw new Error("Missing the required parameter 'x' when calling getRasterTile");
}
// verify the required parameter 'tileY' is set
if (y === undefined || y === null || y === '') {
throw new Error("Missing the required parameter 'y' when calling getRasterTile");
}
var fileExtension = "jpeg";
switch (style) {
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Aerial:
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Hybrid:
fileExtension = "jpeg";
break;
case _RasterMapType__WEBPACK_IMPORTED_MODULE_1__["default"].Light: