UNPKG

sj-ng-webgl-globe

Version:

The fastest way to embed a 3D reactive globe in your Angular application using WebGL Earth. It is an open-source virtual globe made with HTML5 and Canvas WebGL technology. It comes with a JavaScript API adapting the popular LeafletJS API. On top of this A

165 lines 15 kB
/** * @fileoverview added by tsickle * Generated from: lib/sj-ng-webgl-globe.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ViewChild, ElementRef, Input, ViewEncapsulation } from '@angular/core'; /** * @record */ function Options() { } if (false) { /** @type {?|undefined} */ Options.prototype.center; /** @type {?|undefined} */ Options.prototype.zoom; /** @type {?|undefined} */ Options.prototype.altitude; /** @type {?|undefined} */ Options.prototype.atmosphere; /** @type {?|undefined} */ Options.prototype.sky; /** @type {?|undefined} */ Options.prototype.minAltitude; /** @type {?|undefined} */ Options.prototype.maxAltitude; /** @type {?|undefined} */ Options.prototype.dragging; /** @type {?|undefined} */ Options.prototype.tilting; /** @type {?|undefined} */ Options.prototype.zooming; /** @type {?|undefined} */ Options.prototype.scrollWheelZoom; /** @type {?|undefined} */ Options.prototype.unconstrainedRotation; /** @type {?|undefined} */ Options.prototype.proxyHost; } var SjNgWebglGlobeComponent = /** @class */ (function () { function SjNgWebglGlobeComponent() { this.options = { center: [null, null], zoom: null, altitude: 7000000, atmosphere: false, sky: false, minAltitude: 20, dragging: true, tilting: true, zooming: true, scrollWheelZoom: true, unconstrainedRotation: false, proxyHost: '' }; } /** * @return {?} */ SjNgWebglGlobeComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.options = { center: this.center, zoom: this.zoom, altitude: this.altitude, atmosphere: this.atmosphere, sky: this.sky, minAltitude: this.minAltitude, maxAltitude: this.maxAltitude, dragging: this.dragging, tilting: this.tilting, zooming: this.zooming, scrollWheelZoom: this.scrollWheelZoom, unconstrainedRotation: this.unconstrainedRotation, proxyHost: this.proxyHost }; this.globe = new WE.map(this.sjGlobe.nativeElement, this.options); WE.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(this.globe); console.log(this.markers); if (this.markers !== undefined && this.markers.length > 0) { this.markers.forEach((/** * @param {?} m * @param {?} i * @return {?} */ function (m, i) { /** @type {?} */ var marker = WE.marker([m.latitude, m.longitude]).addTo(_this.globe); if (m.isPopupEnable) { marker.bindPopup(m.popupHTML, { maxWidth: 200, closeButton: false }); } })); } }; SjNgWebglGlobeComponent.decorators = [ { type: Component, args: [{ selector: 'sj-ng-webgl-globe', template: "<div #sjGlobe></div>", encapsulation: ViewEncapsulation.None, styles: ["\n .cesium-credit-textContainer{\n display: none;\n }\n "] }] } ]; /** @nocollapse */ SjNgWebglGlobeComponent.ctorParameters = function () { return []; }; SjNgWebglGlobeComponent.propDecorators = { sjGlobe: [{ type: ViewChild, args: ['sjGlobe', { static: true },] }], center: [{ type: Input, args: ['center',] }], zoom: [{ type: Input, args: ['zoom',] }], altitude: [{ type: Input, args: ['altitude',] }], atmosphere: [{ type: Input, args: ['atmosphere',] }], sky: [{ type: Input, args: ['sky',] }], minAltitude: [{ type: Input, args: ['minAltitude',] }], maxAltitude: [{ type: Input, args: ['maxAltitude',] }], dragging: [{ type: Input, args: ['dragging',] }], tilting: [{ type: Input, args: ['tilting',] }], zooming: [{ type: Input, args: ['zooming',] }], scrollWheelZoom: [{ type: Input, args: ['scrollWheelZoom',] }], unconstrainedRotation: [{ type: Input, args: ['unconstrainedRotation',] }], proxyHost: [{ type: Input, args: ['proxyHost',] }], markers: [{ type: Input, args: ['markers',] }] }; return SjNgWebglGlobeComponent; }()); export { SjNgWebglGlobeComponent }; if (false) { /** @type {?} */ SjNgWebglGlobeComponent.prototype.globe; /** @type {?} */ SjNgWebglGlobeComponent.prototype.options; /** @type {?} */ SjNgWebglGlobeComponent.prototype.sjGlobe; /** @type {?} */ SjNgWebglGlobeComponent.prototype.center; /** @type {?} */ SjNgWebglGlobeComponent.prototype.zoom; /** @type {?} */ SjNgWebglGlobeComponent.prototype.altitude; /** @type {?} */ SjNgWebglGlobeComponent.prototype.atmosphere; /** @type {?} */ SjNgWebglGlobeComponent.prototype.sky; /** @type {?} */ SjNgWebglGlobeComponent.prototype.minAltitude; /** @type {?} */ SjNgWebglGlobeComponent.prototype.maxAltitude; /** @type {?} */ SjNgWebglGlobeComponent.prototype.dragging; /** @type {?} */ SjNgWebglGlobeComponent.prototype.tilting; /** @type {?} */ SjNgWebglGlobeComponent.prototype.zooming; /** @type {?} */ SjNgWebglGlobeComponent.prototype.scrollWheelZoom; /** @type {?} */ SjNgWebglGlobeComponent.prototype.unconstrainedRotation; /** @type {?} */ SjNgWebglGlobeComponent.prototype.proxyHost; /** @type {?} */ SjNgWebglGlobeComponent.prototype.markers; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2otbmctd2ViZ2wtZ2xvYmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vc2otbmctd2ViZ2wtZ2xvYmUvIiwic291cmNlcyI6WyJsaWIvc2otbmctd2ViZ2wtZ2xvYmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUluRyxzQkFjQzs7O0lBYkMseUJBQXVCOztJQUN2Qix1QkFBYzs7SUFDZCwyQkFBa0I7O0lBQ2xCLDZCQUFxQjs7SUFDckIsc0JBQWM7O0lBQ2QsOEJBQXFCOztJQUNyQiw4QkFBcUI7O0lBQ3JCLDJCQUFtQjs7SUFDbkIsMEJBQWtCOztJQUNsQiwwQkFBa0I7O0lBQ2xCLGtDQUEwQjs7SUFDMUIsd0NBQWdDOztJQUNoQyw0QkFBbUI7O0FBR3JCO0lBNkNFO1FBaENBLFlBQU8sR0FBWTtZQUNqQixNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3BCLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLE9BQU87WUFDakIsVUFBVSxFQUFFLEtBQUs7WUFDakIsR0FBRyxFQUFFLEtBQUs7WUFDVixXQUFXLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxJQUFJO1lBQ2QsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtZQUNiLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLHFCQUFxQixFQUFFLEtBQUs7WUFDNUIsU0FBUyxFQUFFLEVBQUU7U0FDZCxDQUFDO0lBbUJjLENBQUM7Ozs7SUFFakIsMENBQVE7OztJQUFSO1FBQUEsaUJBK0JDO1FBOUJDLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsUUFBUSxFQUFFLElB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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmRlY2xhcmUgdmFyIFdFOiBhbnk7XG5cbmludGVyZmFjZSBPcHRpb25zIHtcbiAgY2VudGVyPzogQXJyYXk8bnVtYmVyPjsgLy8gTGF0LCBsbmcgY2VudGVyIG9mIHZpZXcuXG4gIHpvb20/OiBudW1iZXI7IC8vIFNldHMgem9vbS5cbiAgYWx0aXR1ZGU/OiBudW1iZXI7IC8vIFNldHMgYWx0aXR1ZGUgb2YgdmlldyBpbiBtZXRlcnMuXG4gIGF0bW9zcGhlcmU/OiBib29sZWFuOyAvLyBTaG93IHRoZSBhdGhtb3NwaGVyZS4gQmVzdCB1c2VkIHdpdGggYmxhY2sgYmFja2dyb3VuZCBzZXRzIGJ5IENTUy5cbiAgc2t5PzogYm9vbGVhbjsgLy8gU2hvdyBzdGFycy5cbiAgbWluQWx0aXR1ZGU/OiBudW1iZXI7IC8vIFNldHMgbG93ZXIgYWx0aXR1ZGUgbGltaXQgZm9yIGludGVyYWN0aW9ucy5cbiAgbWF4QWx0aXR1ZGU/OiBudW1iZXI7IC8vIFNldHMgdXBwZXIgYWx0aXR1ZGUgbGltaXQgZm9yIGludGVyYWN0aW9ucy5cbiAgZHJhZ2dpbmc/OiBib29sZWFuOyAvLyBBbGxvdyBpbnRlcmFjdGlvbi5cbiAgdGlsdGluZz86IGJvb2xlYW47IC8vIEFsbG93IHRpbHQgdGhlIHZpZXcuXG4gIHpvb21pbmc/OiBib29sZWFuOyAvLyBBbGxvdyB6b29taW5nLlxuICBzY3JvbGxXaGVlbFpvb20/OiBib29sZWFuOyAvLyBTZXRzIG1vdXNlIHNjcm9sbCB3aGVlbCB6b29tLlxuICB1bmNvbnN0cmFpbmVkUm90YXRpb24/OiBib29sZWFuOyAvLyBNb2RpZmllcyB0aGUgaW50ZXJhY3Rpb24gdG8gYWxsb3cgYXJiaXRyYXJ5IHJvdGF0aW9uICh1bmNvbnN0cmFpbmVkIGJ5IFogYXhpcykuXG4gIHByb3h5SG9zdD86IHN0cmluZzsgLy8gTGluayB0byBwcm94eSBtYXAgdGlsZXMgY3Jvc3MtZG9tYWluICh3aXRob3V0IENPUlMgaGVhZGVycyBvbiBzZXJ2ZXIpLlxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzai1uZy13ZWJnbC1nbG9iZScsXG4gIHRlbXBsYXRlVXJsOiAnc2otbmctd2ViZ2wtZ2xvYmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtgXG4gICAgLmNlc2l1bS1jcmVkaXQtdGV4dENvbnRhaW5lcntcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICBgXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTak5nV2ViZ2xHbG9iZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZ2xvYmU6IGFueTtcbiAgb3B0aW9uczogT3B0aW9ucyA9IHtcbiAgICBjZW50ZXI6IFtudWxsLCBudWxsXSxcbiAgICB6b29tOiBudWxsLFxuICAgIGFsdGl0dWRlOiA3MDAwMDAwLFxuICAgIGF0bW9zcGhlcmU6IGZhbHNlLFxuICAgIHNreTogZmFsc2UsXG4gICAgbWluQWx0aXR1ZGU6IDIwLFxuICAgIGRyYWdnaW5nOiB0cnVlLFxuICAgIHRpbHRpbmc6IHRydWUsXG4gICAgem9vbWluZzogdHJ1ZSxcbiAgICBzY3JvbGxXaGVlbFpvb206IHRydWUsXG4gICAgdW5jb25zdHJhaW5lZFJvdGF0aW9uOiBmYWxzZSxcbiAgICBwcm94eUhvc3Q6ICcnXG4gIH07XG5cbiAgQFZpZXdDaGlsZCgnc2pHbG9iZScsIHsgc3RhdGljOiB0cnVlIH0pIHNqR2xvYmU6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCdjZW50ZXInKSBjZW50ZXI/OiBBcnJheTxudW1iZXI+OyAvLyBMYXQsIGxuZyBjZW50ZXIgb2Ygdmlldy5cbiAgQElucHV0KCd6b29tJykgem9vbT86IG51bWJlcjsgLy8gU2V0cyB6b29tLlxuICBASW5wdXQoJ2FsdGl0dWRlJykgYWx0aXR1ZGU/OiBudW1iZXI7IC8vIFNldHMgYWx0aXR1ZGUgb2YgdmlldyBpbiBtZXRlcnMuXG4gIEBJbnB1dCgnYXRtb3NwaGVyZScpIGF0bW9zcGhlcmU/OiBib29sZWFuOyAvLyBTaG93IHRoZSBhdGhtb3NwaGVyZS4gQmVzdCB1c2VkIHdpdGggYmxhY2sgYmFja2dyb3VuZCBzZXRzIGJ5IENTUy5cbiAgQElucHV0KCdza3knKSBza3k/OiBib29sZWFuOyAvLyBTaG93IHN0YXJzLlxuICBASW5wdXQoJ21pbkFsdGl0dWRlJykgbWluQWx0aXR1ZGU/OiBudW1iZXI7IC8vIFNldHMgbG93ZXIgYWx0aXR1ZGUgbGltaXQgZm9yIGludGVyYWN0aW9ucy5cbiAgQElucHV0KCdtYXhBbHRpdHVkZScpIG1heEFsdGl0dWRlPzogbnVtYmVyOyAvLyBTZXRzIHVwcGVyIGFsdGl0dWRlIGxpbWl0IGZvciBpbnRlcmFjdGlvbnMuXG4gIEBJbnB1dCgnZHJhZ2dpbmcnKSBkcmFnZ2luZz86IGJvb2xlYW47IC8vIEFsbG93IGludGVyYWN0aW9uLlxuICBASW5wdXQoJ3RpbHRpbmcnKSB0aWx0aW5nPzogYm9vbGVhbjsgLy8gQWxsb3cgdGlsdCB0aGUgdmlldy5cbiAgQElucHV0KCd6b29taW5nJykgem9vbWluZz86IGJvb2xlYW47IC8vIEFsbG93IHpvb21pbmcuXG4gIEBJbnB1dCgnc2Nyb2xsV2hlZWxab29tJykgc2Nyb2xsV2hlZWxab29tPzogYm9vbGVhbjsgLy8gU2V0cyBtb3VzZSBzY3JvbGwgd2hlZWwgem9vbS5cbiAgQElucHV0KCd1bmNvbnN0cmFpbmVkUm90YXRpb24nKSB1bmNvbnN0cmFpbmVkUm90YXRpb24/OiBib29sZWFuOyAvLyBNb2RpZmllcyB0aGUgaW50ZXJhY3Rpb24gdG8gYWxsb3cgYXJiaXRyYXJ5IHJvdGF0aW9uICh1bmNvbnN0cmFpbmVkIGJ5IFogYXhpcykuXG4gIEBJbnB1dCgncHJveHlIb3N0JykgcHJveHlIb3N0Pzogc3RyaW5nOyAvLyBMaW5rIHRvIHByb3h5IG1hcCB0aWxlcyBjcm9zcy1kb21haW4gKHdpdGhvdXQgQ09SUyBoZWFkZXJzIG9uIHNlcnZlcikuXG5cbiAgQElucHV0KCdtYXJrZXJzJykgbWFya2VyczogQXJyYXk8YW55PjsgLy8gTWFya2VyIGRhdGFcbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICBjZW50ZXI6IHRoaXMuY2VudGVyLFxuICAgICAgem9vbTogdGhpcy56b29tLFxuICAgICAgYWx0aXR1ZGU6IHRoaXMuYWx0aXR1ZGUsXG4gICAgICBhdG1vc3BoZXJlOiB0aGlzLmF0bW9zcGhlcmUsXG4gICAgICBza3k6IHRoaXMuc2t5LFxuICAgICAgbWluQWx0aXR1ZGU6IHRoaXMubWluQWx0aXR1ZGUsXG4gICAgICBtYXhBbHRpdHVkZTogdGhpcy5tYXhBbHRpdHVkZSxcbiAgICAgIGRyYWdnaW5nOiB0aGlzLmRyYWdnaW5nLFxuICAgICAgdGlsdGluZzogdGhpcy50aWx0aW5nLFxuICAgICAgem9vbWluZzogdGhpcy56b29taW5nLFxuICAgICAgc2Nyb2xsV2hlZWxab29tOiB0aGlzLnNjcm9sbFdoZWVsWm9vbSxcbiAgICAgIHVuY29uc3RyYWluZWRSb3RhdGlvbjogdGhpcy51bmNvbnN0cmFpbmVkUm90YXRpb24sXG4gICAgICBwcm94eUhvc3Q6IHRoaXMucHJveHlIb3N0XG4gICAgfTtcbiAgICB0aGlzLmdsb2JlID0gbmV3IFdFLm1hcCh0aGlzLnNqR2xvYmUubmF0aXZlRWxlbWVudCwgdGhpcy5vcHRpb25zKTtcblxuICAgIFdFLnRpbGVMYXllcignaHR0cHM6Ly97c30udGlsZS5vcGVuc3RyZWV0bWFwLm9yZy97en0ve3h9L3t5fS5wbmcnLCB7XG4gICAgICBhdHRyaWJ1dGlvbjogJ8KpIE9wZW5TdHJlZXRNYXAgY29udHJpYnV0b3JzJ1xuICAgIH0pLmFkZFRvKHRoaXMuZ2xvYmUpO1xuXG4gICAgY29uc29sZS5sb2codGhpcy5tYXJrZXJzKTtcbiAgICBpZiAodGhpcy5tYXJrZXJzICE9PSB1bmRlZmluZWQgJiYgdGhpcy5tYXJrZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubWFya2Vycy5mb3JFYWNoKChtLCBpKSA9PiB7XG4gICAgICAgIGNvbnN0IG1hcmtlciA9IFdFLm1hcmtlcihbbS5sYXRpdHVkZSwgbS5sb25naXR1ZGVdKS5hZGRUbyh0aGlzLmdsb2JlKTtcbiAgICAgICAgaWYgKG0uaXNQb3B1cEVuYWJsZSkge1xuICAgICAgICAgIG1hcmtlci5iaW5kUG9wdXAobS5wb3B1cEhUTUwsIHsgbWF4V2lkdGg6IDIwMCwgY2xvc2VCdXR0b246IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufVxuIl19