diff --git a/client/public/themes/olympus/images/map_source.svg b/client/public/themes/olympus/images/map_source.svg new file mode 100644 index 00000000..977057cc --- /dev/null +++ b/client/public/themes/olympus/images/map_source.svg @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/client/src/map/map.ts b/client/src/map/map.ts index 0ebd8526..daf94fa3 100644 --- a/client/src/map/map.ts +++ b/client/src/map/map.ts @@ -4,6 +4,7 @@ import { BoxSelect } from "./boxselect"; import { MapContextMenu, SpawnOptions } from "../controls/mapcontextmenu"; import { UnitContextMenu } from "../controls/unitcontextmenu"; import { AirbaseContextMenu } from "../controls/airbasecontextmenu"; +import { Dropdown } from "../controls/dropdown"; export const IDLE = "IDLE"; export const MOVE_UNIT = "MOVE_UNIT"; @@ -21,6 +22,8 @@ export class Map extends L.Map { #unitContextMenu: UnitContextMenu = new UnitContextMenu("unit-contextmenu"); #airbaseContextMenu: AirbaseContextMenu = new AirbaseContextMenu("airbase-contextmenu"); + #mapSourceDropdown: Dropdown; + constructor(ID: string) { /* Init the leaflet map */ //@ts-ignore @@ -40,6 +43,8 @@ export class Map extends L.Map { this.on('mousedown', (e: any) => this.#onMouseDown(e)); this.on('mouseup', (e: any) => this.#onMouseUp(e)); this.on('mousemove', (e: any) => this.#onMouseMove(e)); + + this.#mapSourceDropdown = new Dropdown("map-type", (layerName: string) => this.setLayer(layerName), this.getLayers()) } setLayer(layerName: string) { diff --git a/client/src/missionhandler/airbase.ts b/client/src/missionhandler/airbase.ts index 6bbd88dd..5a2264e6 100644 --- a/client/src/missionhandler/airbase.ts +++ b/client/src/missionhandler/airbase.ts @@ -18,7 +18,7 @@ export class Airbase extends L.Marker this.#name = options.name; var icon = new L.DivIcon({ - html: `