UNPKG

loaders.gl

Version:

Framework-independent loaders for 3D graphics formats

72 lines (60 loc) 2.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = normalizeKML; function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } function normalizeKML(kml) { // Convert coordinates to [lng, lat, z] format for (var key in kml) { var _iteratorNormalCompletion = true; var _didIteratorError = false; var _iteratorError = undefined; try { for (var _iterator = kml[key][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { var item = _step.value; normalizeKMLItem(item, key); } } catch (err) { _didIteratorError = true; _iteratorError = err; } finally { try { if (!_iteratorNormalCompletion && _iterator.return != null) { _iterator.return(); } } finally { if (_didIteratorError) { throw _iteratorError; } } } } return kml; } // Normalizes coordinates to lng/lat format function normalizeKMLItem(item) { if (item.coordinates && item.coordinates.length) { if (Array.isArray(item.coordinates[0])) { item.coordinates = item.coordinates.map(function (_ref) { var _ref2 = _slicedToArray(_ref, 3), lat = _ref2[0], lng = _ref2[1], _ref2$ = _ref2[2], z = _ref2$ === void 0 ? 0 : _ref2$; return [lng, lat, z]; }); } else { // Marker coordinates are just a single coord (not an array of coords) var _item$coordinates = _slicedToArray(item.coordinates, 3), lat = _item$coordinates[0], lng = _item$coordinates[1], _item$coordinates$ = _item$coordinates[2], z = _item$coordinates$ === void 0 ? 0 : _item$coordinates$; item.coordinates = [lng, lat, z]; } } } //# sourceMappingURL=kml-normalizer.js.map