bruce-cesium 2.2.6 → 2.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bruce-cesium.es5.js +3289 -107
- package/dist/bruce-cesium.es5.js.map +1 -1
- package/dist/bruce-cesium.umd.js +3288 -104
- package/dist/bruce-cesium.umd.js.map +1 -1
- package/dist/lib/bruce-cesium.js +3 -1
- package/dist/lib/bruce-cesium.js.map +1 -1
- package/dist/lib/rendering/view-render-engine.js +24 -16
- package/dist/lib/rendering/view-render-engine.js.map +1 -1
- package/dist/lib/rendering/visuals-register.js +5 -0
- package/dist/lib/rendering/visuals-register.js.map +1 -1
- package/dist/lib/utils/drawing-utils.js +86 -0
- package/dist/lib/utils/drawing-utils.js.map +1 -1
- package/dist/lib/utils/view-utils.js +37 -0
- package/dist/lib/utils/view-utils.js.map +1 -1
- package/dist/lib/viewer/viewer-utils.js +71 -1
- package/dist/lib/viewer/viewer-utils.js.map +1 -1
- package/dist/lib/widgets/common/draw-3d-polygon.js +466 -0
- package/dist/lib/widgets/common/draw-3d-polygon.js.map +1 -0
- package/dist/lib/widgets/common/draw-3d-polyline.js +405 -0
- package/dist/lib/widgets/common/draw-3d-polyline.js.map +1 -0
- package/dist/lib/widgets/common/measure-creator.js +418 -0
- package/dist/lib/widgets/common/measure-creator.js.map +1 -0
- package/dist/lib/widgets/widget-bookmarks.js +346 -0
- package/dist/lib/widgets/widget-bookmarks.js.map +1 -0
- package/dist/lib/widgets/widget-branding.js +176 -0
- package/dist/lib/widgets/widget-branding.js.map +1 -0
- package/dist/lib/widgets/widget-cursorbar.js +291 -0
- package/dist/lib/widgets/widget-cursorbar.js.map +1 -0
- package/dist/lib/widgets/widget-info-view.js +476 -0
- package/dist/lib/widgets/widget-info-view.js.map +1 -0
- package/dist/lib/widgets/widget-nav-compass.js +250 -0
- package/dist/lib/widgets/widget-nav-compass.js.map +1 -0
- package/dist/lib/widgets/widget-searchbar.js +409 -0
- package/dist/lib/widgets/widget-searchbar.js.map +1 -0
- package/dist/lib/widgets/widget.js +50 -0
- package/dist/lib/widgets/widget.js.map +1 -0
- package/dist/types/bruce-cesium.d.ts +3 -1
- package/dist/types/rendering/visuals-register.d.ts +2 -1
- package/dist/types/utils/drawing-utils.d.ts +13 -0
- package/dist/types/utils/view-utils.d.ts +7 -0
- package/dist/types/viewer/viewer-utils.d.ts +21 -0
- package/dist/types/widgets/common/draw-3d-polygon.d.ts +62 -0
- package/dist/types/widgets/common/draw-3d-polyline.d.ts +47 -0
- package/dist/types/widgets/common/measure-creator.d.ts +60 -0
- package/dist/types/widgets/widget-bookmarks.d.ts +39 -0
- package/dist/types/widgets/widget-branding.d.ts +14 -0
- package/dist/types/widgets/widget-cursorbar.d.ts +27 -0
- package/dist/types/widgets/widget-info-view.d.ts +21 -0
- package/dist/types/widgets/widget-nav-compass.d.ts +27 -0
- package/dist/types/widgets/widget-searchbar.d.ts +17 -0
- package/dist/types/widgets/widget.d.ts +26 -0
- package/package.json +2 -2
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
19
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
21
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
22
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
+
function step(op) {
|
|
31
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
34
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
+
switch (op[0]) {
|
|
36
|
+
case 0: case 1: t = op; break;
|
|
37
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
+
default:
|
|
41
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
+
if (t[2]) _.ops.pop();
|
|
46
|
+
_.trys.pop(); continue;
|
|
47
|
+
}
|
|
48
|
+
op = body.call(thisArg, _);
|
|
49
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
+
exports.WidgetSearchBar = void 0;
|
|
55
|
+
var widget_1 = require("./widget");
|
|
56
|
+
var Cesium = require("cesium");
|
|
57
|
+
var bruce_models_1 = require("bruce-models");
|
|
58
|
+
var ESearchType;
|
|
59
|
+
(function (ESearchType) {
|
|
60
|
+
ESearchType["CesiumAddress"] = "CESIUM_ADDRESS";
|
|
61
|
+
ESearchType["LatLon"] = "LATLON";
|
|
62
|
+
})(ESearchType || (ESearchType = {}));
|
|
63
|
+
function isLatLon(text) {
|
|
64
|
+
var parts = text.split(",");
|
|
65
|
+
if (parts.length !== 2 && parts.length !== 3) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
var lat = parseFloat(parts[0]);
|
|
69
|
+
var lon = parseFloat(parts[1]);
|
|
70
|
+
if (isNaN(lat) || isNaN(lon)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
var WidgetSearchBar = /** @class */ (function (_super) {
|
|
76
|
+
__extends(WidgetSearchBar, _super);
|
|
77
|
+
function WidgetSearchBar(params) {
|
|
78
|
+
var _this = _super.call(this, params) || this;
|
|
79
|
+
_this.STYLESHEET_ID = "nextspace-searchbar-stylesheet";
|
|
80
|
+
_this._cApi = new bruce_models_1.AbstractApi({});
|
|
81
|
+
_this._generateStyles();
|
|
82
|
+
_this._generateElement();
|
|
83
|
+
return _this;
|
|
84
|
+
}
|
|
85
|
+
WidgetSearchBar.prototype.Dispose = function () {
|
|
86
|
+
_super.prototype.Dispose.call(this);
|
|
87
|
+
};
|
|
88
|
+
WidgetSearchBar.prototype._generateStyles = function () {
|
|
89
|
+
if (document.getElementById(this.STYLESHEET_ID)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
var style = document.createElement("style");
|
|
93
|
+
style.id = this.STYLESHEET_ID;
|
|
94
|
+
style.innerHTML = "\n .NextspaceSearchBar {\n position: absolute;\n z-index: 1;\n top: 10px;\n right: 10px;\n display: flex;\n box-sizing: border-box;\n box-shadow: 0 0 1px rgba(18,22,25,.24),0 18px 36px -4px rgba(18,22,25,.6);\n background: #21272a;\n border-radius: 9px;\n height: 48px;\n padding-left: 2px;\n padding-right: 2px;\n font-family: sans-serif;\n }\n\n .NextspaceSearchBar * {\n box-sizing: border-box;\n }\n\n .NextspaceSearchBar[is-opened=\"true\"] .NextspaceSearchBarContent {\n display: flex;\n overflow: visible;\n width: 260px;\n }\n\n .NextspaceSearchBarToggle {\n align-items: center;\n border-radius: 0;\n border-radius: 9px 0 0 9px;\n color: #fff;\n cursor: pointer;\n display: flex;\n flex-shrink: 0;\n font-size: 18px;\n height: 100%;\n justify-content: center;\n transition: .3s ease;\n width: 46px;\n }\n\n .NextspaceSearchBarToggle >svg {\n transition: .3s ease;\n }\n\n .NextspaceSearchBarToggle >svg:hover {\n -webkit-transform: scale(1.2);\n transform: scale(1.2);\n }\n\n .NextspaceSearchBarContent {\n flex-grow: 0;\n flex-shrink: 0;\n overflow: hidden;\n transition: .3s ease;\n width: 0;\n }\n\n .NextspaceSearchBarContent >input {\n background: transparent;\n border: none;\n color: #fff;\n font-size: 15px;\n height: 100%;\n outline: none;\n padding: 0 8px;\n width: 100%;\n }\n\n .NextspaceSearchBarResults {\n background-color: #21272a;\n border-radius: 0 0 6px 6px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n padding: 12px 8px 8px;\n position: absolute;\n top: calc(100% - 4px);\n width: 100%;\n left: 0;\n z-index: 1;\n }\n\n .NextspaceSearchBarResultsItem {\n align-items: center;\n color: #fff;\n cursor: pointer;\n display: flex;\n height: 30px;\n transition: .3s ease;\n font-size: 13px;\n }\n\n .NextspaceSearchBarResultsItem:hover .NextspaceSearchBarResultsItemIcon {\n -webkit-transform: scale(1.05);\n transform: scale(1.05);\n }\n\n .NextspaceSearchBarResultsItemIcon {\n align-items: center;\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n justify-content: center;\n margin-right: 5px;\n width: 25px;\n }\n\n .NextspaceSearchBarResultsItemTip {\n flex-grow: 1;\n flex-shrink: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n width: 50px;\n font-size: 15px;\n }\n\n .NextspaceSearchBarResultsWarning {\n height: 30px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 15px;\n }\n ";
|
|
95
|
+
document.head.appendChild(style);
|
|
96
|
+
};
|
|
97
|
+
WidgetSearchBar.prototype._generateElement = function () {
|
|
98
|
+
var _this = this;
|
|
99
|
+
var element = document.createElement("div");
|
|
100
|
+
element.className = "NextspaceSearchBar";
|
|
101
|
+
element.setAttribute("is-opened", "false");
|
|
102
|
+
var toggle = document.createElement("div");
|
|
103
|
+
toggle.className = "NextspaceSearchBarToggle";
|
|
104
|
+
toggle.innerHTML = "\n <svg class=\"\" width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14.3283 6C9.73857 6 6 9.73857 6 14.3283C6 18.918 9.73857 22.6566 14.3283 22.6566C16.3242 22.6566 18.1571 21.9479 19.5937 20.7714L24.5663 25.7439C24.643 25.8239 24.7349 25.8877 24.8366 25.9316C24.9383 25.9756 25.0478 25.9988 25.1586 26C25.2694 26.0011 25.3793 25.9801 25.4819 25.9382C25.5845 25.8963 25.6777 25.8344 25.756 25.756C25.8344 25.6777 25.8963 25.5845 25.9382 25.4819C25.9801 25.3793 26.0011 25.2694 26 25.1586C25.9988 25.0478 25.9756 24.9383 25.9316 24.8366C25.8877 24.7349 25.8239 24.643 25.7439 24.5663L20.7714 19.5937C21.9479 18.1571 22.6566 16.3242 22.6566 14.3283C22.6566 9.73857 18.918 6 14.3283 6ZM14.3283 7.66566C18.0178 7.66566 20.9909 10.6388 20.9909 14.3283C20.9909 18.0178 18.0178 20.9909 14.3283 20.9909C10.6388 20.9909 7.66566 18.0178 7.66566 14.3283C7.66566 10.6388 10.6388 7.66566 14.3283 7.66566Z\" fill=\"white\"></path></svg>\n ";
|
|
105
|
+
toggle.onclick = function () {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
if (element.getAttribute("is-opened") === "true") {
|
|
108
|
+
element.setAttribute("is-opened", "false");
|
|
109
|
+
_this._hideResults();
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
element.setAttribute("is-opened", "true");
|
|
113
|
+
// Show prior results.
|
|
114
|
+
if (_this._results.innerHTML) {
|
|
115
|
+
element.style.borderRadius = "9px 9px 0 0";
|
|
116
|
+
_this._results.style.display = "flex";
|
|
117
|
+
}
|
|
118
|
+
// Focus input.
|
|
119
|
+
(_b = (_a = content.querySelector("input")) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
element.appendChild(toggle);
|
|
123
|
+
var content = document.createElement("div");
|
|
124
|
+
content.className = "NextspaceSearchBarContent";
|
|
125
|
+
content.innerHTML = "\n <input placeholder=\"address\"/>\n ";
|
|
126
|
+
element.appendChild(content);
|
|
127
|
+
var input = content.querySelector("input");
|
|
128
|
+
var searchTimeout = null;
|
|
129
|
+
var counter = 0;
|
|
130
|
+
input.onkeyup = function (e) {
|
|
131
|
+
var _a;
|
|
132
|
+
var value = (_a = e.currentTarget) === null || _a === void 0 ? void 0 : _a.value;
|
|
133
|
+
if (!value || value.length < 3) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
counter += 1;
|
|
137
|
+
var curCounter = counter;
|
|
138
|
+
_this._displayLoading();
|
|
139
|
+
clearTimeout(searchTimeout);
|
|
140
|
+
searchTimeout = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
|
|
141
|
+
var searchData, e_1;
|
|
142
|
+
return __generator(this, function (_a) {
|
|
143
|
+
switch (_a.label) {
|
|
144
|
+
case 0:
|
|
145
|
+
_a.trys.push([0, 2, , 3]);
|
|
146
|
+
return [4 /*yield*/, this._doSearch(value)];
|
|
147
|
+
case 1:
|
|
148
|
+
searchData = _a.sent();
|
|
149
|
+
if (curCounter !== counter) {
|
|
150
|
+
return [2 /*return*/];
|
|
151
|
+
}
|
|
152
|
+
this._displayResults(searchData);
|
|
153
|
+
return [3 /*break*/, 3];
|
|
154
|
+
case 2:
|
|
155
|
+
e_1 = _a.sent();
|
|
156
|
+
console.error(e_1);
|
|
157
|
+
return [3 /*break*/, 3];
|
|
158
|
+
case 3: return [2 /*return*/];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}); }, 200);
|
|
162
|
+
};
|
|
163
|
+
var results = document.createElement("div");
|
|
164
|
+
results.className = "NextspaceSearchBarResults";
|
|
165
|
+
element.appendChild(results);
|
|
166
|
+
results.style.display = "none";
|
|
167
|
+
this._results = results;
|
|
168
|
+
this.Container.appendChild(element);
|
|
169
|
+
this._element = element;
|
|
170
|
+
};
|
|
171
|
+
WidgetSearchBar.prototype._displayResults = function (results) {
|
|
172
|
+
var _this = this;
|
|
173
|
+
this._element.style.borderRadius = "9px 9px 0 0";
|
|
174
|
+
this._results.style.display = "flex";
|
|
175
|
+
if (results === null || results === void 0 ? void 0 : results.length) {
|
|
176
|
+
this._results.innerHTML = "";
|
|
177
|
+
var getIcon_1 = function (result) {
|
|
178
|
+
if (result.type == ESearchType.CesiumAddress) {
|
|
179
|
+
return "\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37259 18.6274 0 12 0C5.37258 0 0 5.37259 0 12C0 18.6274 5.37258 24 12 24Z\" fill=\"white\"/>\n <path d=\"M21.6985 10.4272C21.3489 10.4272 20.9994 10.631 20.7373 10.9806L17.4169 15.3786C16.8635 16.1068 16.0771 16.5145 15.2616 16.5145C14.446 16.5145 13.6596 16.1068 13.1062 15.3786L9.78584 10.9806C9.5237 10.631 9.17419 10.4272 8.82467 10.4272C8.47516 10.4272 8.12564 10.631 7.86351 10.9806L4.54312 15.3786C3.98972 16.1068 3.23244 16.5145 2.4169 16.5145C4.10623 20.0971 7.747 22.5728 11.9703 22.5728C17.7955 22.5728 22.5431 17.8543 22.5431 12C22.5431 11.5922 22.514 11.1844 22.4557 10.7767C22.2519 10.5437 21.9897 10.4272 21.6985 10.4272Z\" fill=\"#7A9C49\"/>\n <path d=\"M11.9996 1.42718C6.1744 1.42718 1.42683 6.14562 1.42683 12C1.42683 12.932 1.57246 13.8349 1.77634 14.6796C1.98022 14.8252 2.18411 14.9126 2.41712 14.9126C2.76663 14.9126 3.11615 14.7087 3.37828 14.3592L6.69867 9.96116C7.25207 9.233 8.03848 8.82523 8.85401 8.82523C9.66955 8.82523 10.456 9.233 11.0094 9.96116L14.2132 14.1845L14.3589 14.3592C14.621 14.7087 14.9705 14.8835 15.2909 14.9126C15.6404 14.9126 15.9608 14.7087 16.2229 14.3592L16.3686 14.1845L19.5725 9.96116C20.1259 9.233 20.9123 8.82523 21.7278 8.82523C21.8443 8.82523 21.9899 8.82524 22.1064 8.85436C20.7666 4.54368 16.7472 1.42718 11.9996 1.42718V1.42718ZM15.5239 8.12621C14.9123 8.12621 14.4171 7.63105 14.4171 7.0194C14.4171 6.40775 14.9123 5.91261 15.5239 5.91261C16.1356 5.91261 16.6307 6.40775 16.6307 7.0194C16.6307 7.63105 16.1356 8.12621 15.5239 8.12621Z\" fill=\"#6DABE4\"/>\n </svg>\n ";
|
|
180
|
+
}
|
|
181
|
+
return "\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M6 20H18C18.55 20 19 20.45 19 21C19 21.55 18.55 22 18 22H6C5.45 22 5 21.55 5 21C5 20.45 5.45 20 6 20ZM12 7C10.9 7 10 7.9 10 9C10 10.1 10.9 11 12 11C13.1 11 14 10.1 14 9C14 7.9 13.1 7 12 7ZM12 2C15.27 2 19 4.46 19 9.15C19 12.13 16.87 15.27 12.61 18.54C12.25 18.82 11.75 18.82 11.39 18.54C7.13 15.26 5 12.13 5 9.15C5 4.46 8.73 2 12 2Z\" fill=\"white\"/>\n </svg>\n ";
|
|
182
|
+
};
|
|
183
|
+
results.forEach(function (result) {
|
|
184
|
+
var resultElement = document.createElement("div");
|
|
185
|
+
resultElement.className = "NextspaceSearchBarResultsItem";
|
|
186
|
+
resultElement.innerHTML = "\n <div class=\"NextspaceSearchBarResultsItemIcon\">\n ".concat(getIcon_1(result), "\n </div>\n <div class=\"NextspaceSearchBarResultsItemTip\">\n ").concat(result.tip, "\n </div>\n ");
|
|
187
|
+
resultElement.onclick = function () {
|
|
188
|
+
_this._clickResult(result);
|
|
189
|
+
};
|
|
190
|
+
_this._results.appendChild(resultElement);
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
this._results.innerHTML = "\n <div class=\"NextspaceSearchBarResultsWarning\">No results found...</div>\n ";
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
WidgetSearchBar.prototype._displayLoading = function () {
|
|
198
|
+
this._element.style.borderRadius = "9px 9px 0 0";
|
|
199
|
+
this._results.style.display = "flex";
|
|
200
|
+
this._results.innerHTML = "\n <div class=\"NextspaceSearchBarResultsWarning\">Loading...</div>\n ";
|
|
201
|
+
};
|
|
202
|
+
WidgetSearchBar.prototype._hideResults = function () {
|
|
203
|
+
this._element.style.borderRadius = "9px";
|
|
204
|
+
this._results.style.display = "none";
|
|
205
|
+
};
|
|
206
|
+
WidgetSearchBar.prototype._cesiumAutoComplete = function (text) {
|
|
207
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
208
|
+
var token;
|
|
209
|
+
return __generator(this, function (_a) {
|
|
210
|
+
token = Cesium.Ion.defaultAccessToken;
|
|
211
|
+
return [2 /*return*/, this._cApi.get("https://api.cesium.com/v1/geocode/autocomplete?text=".concat(encodeURI(text), "&access_token=").concat(token))];
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
WidgetSearchBar.prototype._doSearch = function (text) {
|
|
216
|
+
var _a;
|
|
217
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
218
|
+
var result, parts, lat, lon, alt, res, MAX_ITEMS, added, _loop_1, i, state_1, e_2;
|
|
219
|
+
return __generator(this, function (_b) {
|
|
220
|
+
switch (_b.label) {
|
|
221
|
+
case 0:
|
|
222
|
+
if (!text || text.length < 3) {
|
|
223
|
+
return [2 /*return*/, []];
|
|
224
|
+
}
|
|
225
|
+
result = [];
|
|
226
|
+
if (isLatLon(text)) {
|
|
227
|
+
parts = text.split(",");
|
|
228
|
+
lat = parseFloat(parts[0]);
|
|
229
|
+
lon = parseFloat(parts[1]);
|
|
230
|
+
alt = parts.length > 2 ? parseFloat(parts[2]) : null;
|
|
231
|
+
result.push({
|
|
232
|
+
type: ESearchType.LatLon,
|
|
233
|
+
tip: "Lat Lon Location",
|
|
234
|
+
data: {
|
|
235
|
+
altitude: alt,
|
|
236
|
+
latitude: lat,
|
|
237
|
+
longitude: lon
|
|
238
|
+
}
|
|
239
|
+
});
|
|
240
|
+
return [2 /*return*/, result];
|
|
241
|
+
}
|
|
242
|
+
if (!Cesium.Ion.defaultAccessToken) return [3 /*break*/, 5];
|
|
243
|
+
_b.label = 1;
|
|
244
|
+
case 1:
|
|
245
|
+
_b.trys.push([1, 3, , 4]);
|
|
246
|
+
return [4 /*yield*/, this._cesiumAutoComplete(text)];
|
|
247
|
+
case 2:
|
|
248
|
+
res = _b.sent();
|
|
249
|
+
console.log("Cesium search result", res);
|
|
250
|
+
MAX_ITEMS = 5;
|
|
251
|
+
added = 0;
|
|
252
|
+
if (res && res.features) {
|
|
253
|
+
_loop_1 = function (i) {
|
|
254
|
+
var feature = res.features[i];
|
|
255
|
+
if (feature.bbox || feature.geometry) {
|
|
256
|
+
var name_1 = feature.properties.name;
|
|
257
|
+
if (!name_1) {
|
|
258
|
+
name_1 = feature.properties.label;
|
|
259
|
+
}
|
|
260
|
+
if (!name_1) {
|
|
261
|
+
return "continue";
|
|
262
|
+
}
|
|
263
|
+
// We don't want results with the same visual name, even if they have different coordinate data.
|
|
264
|
+
if (result.find(function (x) { return x.type == ESearchType.CesiumAddress && x.tip == name_1; })) {
|
|
265
|
+
return "continue";
|
|
266
|
+
}
|
|
267
|
+
var coords = (_a = feature.geometry) === null || _a === void 0 ? void 0 : _a.coordinates;
|
|
268
|
+
var bbox = feature.bbox;
|
|
269
|
+
if (!coords && !bbox) {
|
|
270
|
+
return "continue";
|
|
271
|
+
}
|
|
272
|
+
result.push({
|
|
273
|
+
type: ESearchType.CesiumAddress,
|
|
274
|
+
tip: name_1,
|
|
275
|
+
data: {
|
|
276
|
+
bbox: bbox,
|
|
277
|
+
location: coords ? {
|
|
278
|
+
altitude: coords[2],
|
|
279
|
+
latitude: coords[1],
|
|
280
|
+
longitude: coords[0]
|
|
281
|
+
} : null
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
added += 1;
|
|
285
|
+
if (added >= MAX_ITEMS) {
|
|
286
|
+
return "break";
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
};
|
|
290
|
+
for (i = 0; i < res.features.length; i++) {
|
|
291
|
+
state_1 = _loop_1(i);
|
|
292
|
+
if (state_1 === "break")
|
|
293
|
+
break;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return [3 /*break*/, 4];
|
|
297
|
+
case 3:
|
|
298
|
+
e_2 = _b.sent();
|
|
299
|
+
console.error(e_2);
|
|
300
|
+
return [3 /*break*/, 4];
|
|
301
|
+
case 4: return [3 /*break*/, 6];
|
|
302
|
+
case 5:
|
|
303
|
+
console.warn("No Cesium token set, skipping Cesium address search.");
|
|
304
|
+
_b.label = 6;
|
|
305
|
+
case 6: return [2 /*return*/, result];
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
});
|
|
309
|
+
};
|
|
310
|
+
WidgetSearchBar.prototype._clickResult = function (item) {
|
|
311
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
312
|
+
function zoomToCarto(points) {
|
|
313
|
+
var cartes = points.map(function (x) { var _a; return Cesium.Cartesian3.fromDegrees(x.longitude, x.latitude, (_a = x.altitude) !== null && _a !== void 0 ? _a : 0); });
|
|
314
|
+
zoomToCartes(cartes);
|
|
315
|
+
}
|
|
316
|
+
var deduplicatePoints, raiseCartesToHeight, zoomToCartes, bbox, point;
|
|
317
|
+
var _this = this;
|
|
318
|
+
return __generator(this, function (_a) {
|
|
319
|
+
deduplicatePoints = function (points) {
|
|
320
|
+
var DIS_TOLERANCE = 0.001;
|
|
321
|
+
var result = [];
|
|
322
|
+
var _loop_2 = function (i) {
|
|
323
|
+
var point_1 = points[i];
|
|
324
|
+
if (result.find(function (x) { return Cesium.Cartesian3.distance(x, point_1) < DIS_TOLERANCE; })) {
|
|
325
|
+
return "continue";
|
|
326
|
+
}
|
|
327
|
+
result.push(point_1);
|
|
328
|
+
};
|
|
329
|
+
for (var i = 0; i < points.length; i++) {
|
|
330
|
+
_loop_2(i);
|
|
331
|
+
}
|
|
332
|
+
return result;
|
|
333
|
+
};
|
|
334
|
+
raiseCartesToHeight = function (points, minHeight) {
|
|
335
|
+
for (var i = 0; i < points.length; i++) {
|
|
336
|
+
var carto = Cesium.Cartographic.fromCartesian(points[i]);
|
|
337
|
+
carto.height = Math.max(carto.height, minHeight);
|
|
338
|
+
points[i] = Cesium.Cartesian3.fromRadians(carto.longitude, carto.latitude, carto.height);
|
|
339
|
+
}
|
|
340
|
+
};
|
|
341
|
+
zoomToCartes = function (points) {
|
|
342
|
+
points = deduplicatePoints(points);
|
|
343
|
+
raiseCartesToHeight(points, 2500);
|
|
344
|
+
var viewer = _this._viewer;
|
|
345
|
+
var orient = {
|
|
346
|
+
heading: Cesium.Math.toRadians(0),
|
|
347
|
+
pitch: Cesium.Math.toRadians(-90),
|
|
348
|
+
roll: 0
|
|
349
|
+
};
|
|
350
|
+
var onComplete = function () {
|
|
351
|
+
viewer.camera.lookAtTransform(Cesium.Matrix4.IDENTITY);
|
|
352
|
+
};
|
|
353
|
+
if (points.length > 1) {
|
|
354
|
+
var rectangle = Cesium.Rectangle.fromCartesianArray(points);
|
|
355
|
+
viewer.camera.flyTo({
|
|
356
|
+
destination: rectangle,
|
|
357
|
+
orientation: orient,
|
|
358
|
+
duration: 1,
|
|
359
|
+
complete: onComplete
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
var carto = Cesium.BoundingSphere.fromPoints(points).center;
|
|
364
|
+
viewer.camera.flyTo({
|
|
365
|
+
destination: carto,
|
|
366
|
+
orientation: orient,
|
|
367
|
+
duration: 1,
|
|
368
|
+
complete: onComplete
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
};
|
|
372
|
+
switch (item.type) {
|
|
373
|
+
case ESearchType.CesiumAddress:
|
|
374
|
+
bbox = item.data.bbox;
|
|
375
|
+
if (bbox) {
|
|
376
|
+
zoomToCarto([
|
|
377
|
+
{
|
|
378
|
+
altitude: null,
|
|
379
|
+
latitude: bbox[1],
|
|
380
|
+
longitude: bbox[0]
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
altitude: null,
|
|
384
|
+
latitude: bbox[3],
|
|
385
|
+
longitude: bbox[2]
|
|
386
|
+
}
|
|
387
|
+
]);
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
390
|
+
point = item.data.location;
|
|
391
|
+
if (point) {
|
|
392
|
+
zoomToCarto([point]);
|
|
393
|
+
break;
|
|
394
|
+
}
|
|
395
|
+
break;
|
|
396
|
+
case ESearchType.LatLon:
|
|
397
|
+
zoomToCarto([item.data]);
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
this._element.setAttribute("is-opened", "false");
|
|
401
|
+
this._hideResults();
|
|
402
|
+
return [2 /*return*/];
|
|
403
|
+
});
|
|
404
|
+
});
|
|
405
|
+
};
|
|
406
|
+
return WidgetSearchBar;
|
|
407
|
+
}(widget_1.Widget.AWidget));
|
|
408
|
+
exports.WidgetSearchBar = WidgetSearchBar;
|
|
409
|
+
//# sourceMappingURL=widget-searchbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-searchbar.js","sourceRoot":"","sources":["../../../src/widgets/widget-searchbar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Widget = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Describes a Nextspace provided UI widget.
|
|
6
|
+
*/
|
|
7
|
+
var Widget;
|
|
8
|
+
(function (Widget) {
|
|
9
|
+
var AWidget = /** @class */ (function () {
|
|
10
|
+
function AWidget(params) {
|
|
11
|
+
var viewer = params.viewer, container = params.container, manager = params.manager;
|
|
12
|
+
if (!container) {
|
|
13
|
+
container = viewer.container;
|
|
14
|
+
}
|
|
15
|
+
this._viewer = viewer;
|
|
16
|
+
this._manager = manager;
|
|
17
|
+
this._container = container;
|
|
18
|
+
this._apiGetters = params.apiGetters;
|
|
19
|
+
}
|
|
20
|
+
Object.defineProperty(AWidget.prototype, "Viewer", {
|
|
21
|
+
get: function () {
|
|
22
|
+
return this._viewer;
|
|
23
|
+
},
|
|
24
|
+
enumerable: false,
|
|
25
|
+
configurable: true
|
|
26
|
+
});
|
|
27
|
+
Object.defineProperty(AWidget.prototype, "Container", {
|
|
28
|
+
get: function () {
|
|
29
|
+
return this._container;
|
|
30
|
+
},
|
|
31
|
+
enumerable: false,
|
|
32
|
+
configurable: true
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(AWidget.prototype, "Element", {
|
|
35
|
+
get: function () {
|
|
36
|
+
return this._element;
|
|
37
|
+
},
|
|
38
|
+
enumerable: false,
|
|
39
|
+
configurable: true
|
|
40
|
+
});
|
|
41
|
+
AWidget.prototype.Dispose = function () {
|
|
42
|
+
if (this._element && this._element.parentElement) {
|
|
43
|
+
this._element.parentElement.removeChild(this._element);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
return AWidget;
|
|
47
|
+
}());
|
|
48
|
+
Widget.AWidget = AWidget;
|
|
49
|
+
})(Widget = exports.Widget || (exports.Widget = {}));
|
|
50
|
+
//# sourceMappingURL=widget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../src/widgets/widget.ts"],"names":[],"mappings":";;;AAIA;;GAEG;AACH,IAAiB,MAAM,CA2CtB;AA3CD,WAAiB,MAAM;IAUnB;QAgBI,iBAAY,MAAe;YACjB,IAAA,MAAM,GAAyB,MAAM,OAA/B,EAAE,SAAS,GAAc,MAAM,UAApB,EAAE,OAAO,GAAK,MAAM,QAAX,CAAY;YAC5C,IAAI,CAAC,SAAS,EAAE;gBACZ,SAAS,GAAG,MAAM,CAAC,SAAwB,CAAC;aAC/C;YACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACzC,CAAC;QAvBD,sBAAW,2BAAM;iBAAjB;gBACI,OAAO,IAAI,CAAC,OAAO,CAAC;YACxB,CAAC;;;WAAA;QAED,sBAAW,8BAAS;iBAApB;gBACI,OAAO,IAAI,CAAC,UAAU,CAAC;YAC3B,CAAC;;;WAAA;QAED,sBAAW,4BAAO;iBAAlB;gBACI,OAAO,IAAI,CAAC,QAAQ,CAAC;YACzB,CAAC;;;WAAA;QAeM,yBAAO,GAAd;YACI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE;gBAC9C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC1D;QACL,CAAC;QACL,cAAC;IAAD,CAAC,AAhCD,IAgCC;IAhCqB,cAAO,UAgC5B,CAAA;AACL,CAAC,EA3CgB,MAAM,GAAN,cAAM,KAAN,cAAM,QA2CtB"}
|
|
@@ -26,4 +26,6 @@ export * from "./utils/view-utils";
|
|
|
26
26
|
export * from "./utils/drawing-utils";
|
|
27
27
|
export * from "./utils/measure-utils";
|
|
28
28
|
export * from "./utils/entity-utils";
|
|
29
|
-
export
|
|
29
|
+
export * from "./widgets/common/draw-3d-polygon";
|
|
30
|
+
export * from "./widgets/common/draw-3d-polyline";
|
|
31
|
+
export declare const VERSION = "2.2.7";
|
|
@@ -43,4 +43,17 @@ export declare namespace DrawingUtils {
|
|
|
43
43
|
* @returns
|
|
44
44
|
*/
|
|
45
45
|
const GetAccuratePosition: (viewer: Cesium.Viewer, cursor: Cesium.Cartesian2, pickOnly?: boolean) => any;
|
|
46
|
+
/**
|
|
47
|
+
* Smooths a given set of points.
|
|
48
|
+
* @param points
|
|
49
|
+
* @param multiplier
|
|
50
|
+
* @param closed: true if this is a closed shape. Eg: polygon.
|
|
51
|
+
* @returns
|
|
52
|
+
*/
|
|
53
|
+
function SmoothPoints(points: Cesium.Cartesian3[], multiplier: number, closed: boolean): Cesium.Cartesian3[];
|
|
54
|
+
/**
|
|
55
|
+
* @param pos3d
|
|
56
|
+
* @param minimumHeight height relative to ground
|
|
57
|
+
*/
|
|
58
|
+
function RaisePos3d(viewer: Cesium.Viewer, pos3d: Cesium.Cartesian3, minimumHeight?: number): Promise<Cesium.Cartesian3>;
|
|
46
59
|
}
|
|
@@ -42,4 +42,11 @@ export declare namespace ViewUtils {
|
|
|
42
42
|
function Get2dStatus(params: {
|
|
43
43
|
viewer: Cesium.Viewer;
|
|
44
44
|
}): boolean;
|
|
45
|
+
function SetLockedCameraStatus(params: {
|
|
46
|
+
viewer: Cesium.Viewer;
|
|
47
|
+
status: boolean;
|
|
48
|
+
}): void;
|
|
49
|
+
function GetLockedCameraStatus(params: {
|
|
50
|
+
viewer: Cesium.Viewer;
|
|
51
|
+
}): boolean;
|
|
45
52
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as Cesium from "cesium";
|
|
2
2
|
import { MenuItemManager } from "../rendering/menu-item-manager";
|
|
3
|
+
import { ApiGetters, IDictionary } from "bruce-models";
|
|
4
|
+
import { Widget } from "../widgets/widget";
|
|
3
5
|
interface IWidget {
|
|
4
6
|
isDestroyed: () => boolean;
|
|
5
7
|
destroy: () => void;
|
|
@@ -13,6 +15,7 @@ export declare namespace ViewerUtils {
|
|
|
13
15
|
viewer: Cesium.Viewer;
|
|
14
16
|
destroyWidgets?: boolean;
|
|
15
17
|
styleContainer?: boolean;
|
|
18
|
+
nextspaceWidgets?: boolean;
|
|
16
19
|
}): void;
|
|
17
20
|
function DestroyWidget(widget: IWidget): void;
|
|
18
21
|
/**
|
|
@@ -32,5 +35,23 @@ export declare namespace ViewerUtils {
|
|
|
32
35
|
viewer: Cesium.Viewer;
|
|
33
36
|
createIfMissing?: boolean;
|
|
34
37
|
}): MenuItemManager.Manager;
|
|
38
|
+
/**
|
|
39
|
+
* Creates Nextspace default widgets.
|
|
40
|
+
* Returns key/value pairs for created widgets. Key is widget name.
|
|
41
|
+
* @param params
|
|
42
|
+
*/
|
|
43
|
+
function CreateWidgets(params: {
|
|
44
|
+
viewer?: Cesium.Viewer;
|
|
45
|
+
manager?: MenuItemManager.Manager;
|
|
46
|
+
container?: HTMLElement;
|
|
47
|
+
apiGetters?: ApiGetters;
|
|
48
|
+
navCompass?: boolean;
|
|
49
|
+
branding?: boolean;
|
|
50
|
+
cursorBar?: boolean;
|
|
51
|
+
searchBar?: boolean;
|
|
52
|
+
bookmarks?: boolean;
|
|
53
|
+
viewId?: string;
|
|
54
|
+
infoView?: boolean;
|
|
55
|
+
}): IDictionary<Widget.AWidget>;
|
|
35
56
|
}
|
|
36
57
|
export {};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as Cesium from "cesium";
|
|
2
|
+
interface IParams {
|
|
3
|
+
viewer: Cesium.Viewer;
|
|
4
|
+
onFinish?: (hierarchy: Cesium.PolygonHierarchy) => void;
|
|
5
|
+
onChange?: (hierarchy: Cesium.PolygonHierarchy) => void;
|
|
6
|
+
hierarchy?: Cesium.PolygonHierarchy;
|
|
7
|
+
hidePolygon?: boolean;
|
|
8
|
+
perPositionHeight?: boolean;
|
|
9
|
+
smoothing?: boolean;
|
|
10
|
+
maxPoints?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class Draw3dPolygon {
|
|
13
|
+
private viewer;
|
|
14
|
+
private polygon;
|
|
15
|
+
private points;
|
|
16
|
+
private changed;
|
|
17
|
+
private cachedHierarchy;
|
|
18
|
+
private events;
|
|
19
|
+
private renderEventRemoval;
|
|
20
|
+
private cursor;
|
|
21
|
+
private cursorPos;
|
|
22
|
+
private draggingPoint;
|
|
23
|
+
private onFinish;
|
|
24
|
+
private onChange;
|
|
25
|
+
private finishElement;
|
|
26
|
+
private hidePolygon;
|
|
27
|
+
private perPositionHeight;
|
|
28
|
+
private smoothing;
|
|
29
|
+
private maxPoints;
|
|
30
|
+
private get hasReachedMax();
|
|
31
|
+
constructor(params: IParams);
|
|
32
|
+
/**
|
|
33
|
+
* Starts or resumes the tool.
|
|
34
|
+
*/
|
|
35
|
+
Start(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Stops events without removing the entity.
|
|
38
|
+
*/
|
|
39
|
+
Pause(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Disposes of the tool. Removes events and entity.
|
|
42
|
+
*/
|
|
43
|
+
Dispose(): void;
|
|
44
|
+
GetHierarchy(smooth?: boolean): Cesium.PolygonHierarchy;
|
|
45
|
+
private getOutlinePosses;
|
|
46
|
+
private startEvents;
|
|
47
|
+
private onMouseUp;
|
|
48
|
+
private onMouseClick;
|
|
49
|
+
private onMouseDown;
|
|
50
|
+
private onMouseRightClick;
|
|
51
|
+
private onMouseMove;
|
|
52
|
+
private destroyEvents;
|
|
53
|
+
private createEntity;
|
|
54
|
+
private destroyEntity;
|
|
55
|
+
private createCursor;
|
|
56
|
+
private destroyCursor;
|
|
57
|
+
private getPointFrom2dPos;
|
|
58
|
+
private createFinishButton;
|
|
59
|
+
private destroyFinishButton;
|
|
60
|
+
private updateFinishButton;
|
|
61
|
+
}
|
|
62
|
+
export {};
|