mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 18:34:02 +00:00
68 lines
3.1 KiB
JavaScript
68 lines
3.1 KiB
JavaScript
import { createDirectionsSource } from '../layers/directions/source.js';
|
|
import { createRecentImagerySource } from '../layers/recentImagery/source.js';
|
|
import { createOpenFreeMapSource } from '../sources/openFreeMap.js';
|
|
import {
|
|
createFlightSource,
|
|
createMilitarySource,
|
|
createVesselSource,
|
|
} from '../sources/live/standalone.js';
|
|
import { createCctvSource } from '../layers/cctv/source.js';
|
|
import { createRadioSource } from '../layers/radio/source.js';
|
|
import { createTransitSource } from '../layers/transit/source.js';
|
|
import { createTrafficSource } from '../layers/traffic/source.js';
|
|
import { createBikeshareSource } from '../layers/bikeshare/source.js';
|
|
import { createInstallationSource } from '../layers/installations/source.js';
|
|
import { createSatelliteSource } from '../layers/satellites/source.js';
|
|
import { createLaunchSource } from '../layers/launches/source.js';
|
|
import { createAlprTileSource } from '../layers/alpr/source.js';
|
|
import { createWeatherSource } from '../layers/weather/source.js';
|
|
import { createCycloneSource } from '../layers/cyclones/source.js';
|
|
import { createWindSource } from '../layers/wind/source.js';
|
|
import { createFirmsSource } from '../layers/firms/source.js';
|
|
import { createGhostMapsSource } from '../layers/ghostMaps/source.js';
|
|
import { createMapillarySource } from '../layers/streetLevel/providers/mapillary/source.js';
|
|
import { createReferenceSources } from '../sources/reference.js';
|
|
export { createReferenceSources as createStandaloneReferenceSources } from '../sources/reference.js';
|
|
|
|
/** Select standalone providers without starting their acquisition. */
|
|
export function createStandaloneLayerSources(overrides = {}) {
|
|
if (!overrides || typeof overrides !== 'object' || Array.isArray(overrides))
|
|
throw new TypeError('Source overrides must be an object');
|
|
const mapTiles = createOpenFreeMapSource();
|
|
const defaults = {
|
|
...createReferenceSources(),
|
|
directions: createDirectionsSource(),
|
|
'recent-imagery': createRecentImagerySource(),
|
|
flights: createFlightSource(),
|
|
military: createMilitarySource(),
|
|
vessels: createVesselSource({
|
|
apiUrl: import.meta.env?.VITE_AIS_LIVE_API_URL || '/api/vessels',
|
|
// Resolved against the document's address, which a panel host may
|
|
// serve from its own scheme.
|
|
origin: () => globalThis.document?.baseURI ?? 'http://localhost',
|
|
}),
|
|
cctv: createCctvSource(),
|
|
radio: createRadioSource(),
|
|
traffic: createTrafficSource({ mapTiles }),
|
|
transit: createTransitSource(),
|
|
bikeshare: createBikeshareSource(),
|
|
installations: createInstallationSource({ mapTiles }),
|
|
satellites: createSatelliteSource(),
|
|
launches: createLaunchSource(),
|
|
alpr: createAlprTileSource(),
|
|
firms: createFirmsSource(),
|
|
's2-ghostmaps': createGhostMapsSource(),
|
|
wind: createWindSource(),
|
|
weather: createWeatherSource(),
|
|
cyclones: createCycloneSource(),
|
|
mapillary: createMapillarySource({
|
|
token: import.meta.env?.MAPILLARY_CLIENT_TOKEN || '',
|
|
}),
|
|
};
|
|
for (const name of Object.keys(overrides)) {
|
|
if (!Object.hasOwn(defaults, name))
|
|
throw new TypeError(`Unknown source: ${name}`);
|
|
}
|
|
return { ...defaults, ...overrides };
|
|
}
|