mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 18:34:02 +00:00
33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
import { MapSourceController } from './maps/controller.js';
|
|
import { createDefaultMapSources } from './maps/defaultSources.js';
|
|
import { governorRequestRender } from './renderGovernor.js';
|
|
export { MAP_STACKS } from './maps/catalog.js';
|
|
export { photorealUnavailableReason } from './maps/availability.js';
|
|
|
|
/** Preserve the standalone entry point; applications can compose the source controller directly. */
|
|
export class MapStackController extends MapSourceController {
|
|
constructor(viewer, options = {}) {
|
|
const googleApiKey =
|
|
typeof window !== 'undefined' ? window.__GOOGLE_MAPS_API_KEY__ : '';
|
|
const registry = createDefaultMapSources({ ...options, googleApiKey });
|
|
super(viewer, {
|
|
registry,
|
|
initialStack: options.googleTileset
|
|
? options.initialStack || 'photoreal'
|
|
: registry.defaultId,
|
|
...options,
|
|
requestRender: governorRequestRender,
|
|
});
|
|
this.googleTileset = options.googleTileset || null;
|
|
this.cesiumToken = String(options.cesiumToken || '').trim();
|
|
}
|
|
_hasPhotorealCredentials() {
|
|
const googleKey =
|
|
typeof window !== 'undefined' ? window.__GOOGLE_MAPS_API_KEY__ : '';
|
|
return (
|
|
Boolean(String(googleKey || '').trim()) ||
|
|
Boolean(String(this.cesiumToken || '').trim())
|
|
);
|
|
}
|
|
}
|