| 
									
										
										
										
											2023-04-02 02:59:20 +02:00
										 |  |  | import { Store, UIEventSource } from "../Logic/UIEventSource" | 
					
						
							| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  | import { BBox } from "../Logic/BBox" | 
					
						
							|  |  |  | import { RasterLayerPolygon } from "./RasterLayers" | 
					
						
							| 
									
										
										
										
											2024-01-22 03:42:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-12-15 01:46:01 +01:00
										 |  |  | export interface KeyNavigationEvent { | 
					
						
							|  |  |  |     date: Date | 
					
						
							|  |  |  |     key: "north" | "east" | "south" | "west" | "in" | "out" | "islocked" | "locked" | "unlocked" | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2024-01-22 03:42:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  | export interface MapProperties { | 
					
						
							|  |  |  |     readonly location: UIEventSource<{ lon: number; lat: number }> | 
					
						
							|  |  |  |     readonly zoom: UIEventSource<number> | 
					
						
							| 
									
										
										
										
											2023-04-06 01:33:08 +02:00
										 |  |  |     readonly minzoom: UIEventSource<number> | 
					
						
							| 
									
										
										
										
											2023-04-21 01:53:24 +02:00
										 |  |  |     readonly maxzoom: UIEventSource<number> | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |     readonly bounds: UIEventSource<BBox> | 
					
						
							| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  |     readonly rasterLayer: UIEventSource<RasterLayerPolygon | undefined> | 
					
						
							|  |  |  |     readonly maxbounds: UIEventSource<undefined | BBox> | 
					
						
							|  |  |  |     readonly allowMoving: UIEventSource<true | boolean> | 
					
						
							| 
									
										
										
										
											2023-07-18 01:26:04 +02:00
										 |  |  |     readonly allowRotating: UIEventSource<true | boolean> | 
					
						
							| 
									
										
										
										
											2023-12-19 22:21:34 +01:00
										 |  |  |     readonly rotation: UIEventSource<number> | 
					
						
							| 
									
										
										
										
											2024-02-03 14:33:10 +01:00
										 |  |  |     readonly pitch: UIEventSource<number> | 
					
						
							| 
									
										
										
										
											2023-04-02 02:59:20 +02:00
										 |  |  |     readonly lastClickLocation: Store<{ lon: number; lat: number }> | 
					
						
							| 
									
										
										
										
											2023-03-28 05:13:48 +02:00
										 |  |  |     readonly allowZooming: UIEventSource<true | boolean> | 
					
						
							| 
									
										
										
										
											2024-02-03 14:33:10 +01:00
										 |  |  |     readonly useTerrain: Store<boolean> | 
					
						
							| 
									
										
										
										
											2024-09-12 01:53:47 +02:00
										 |  |  |     readonly showScale: UIEventSource<boolean> | 
					
						
							| 
									
										
										
										
											2023-12-15 01:46:01 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Triggered when the user navigated by using the keyboard. | 
					
						
							|  |  |  |      * The callback might return 'true' if it wants to be unregistered | 
					
						
							|  |  |  |      * @param f | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     onKeyNavigationEvent(f: (event: KeyNavigationEvent) => void | boolean): () => void | 
					
						
							| 
									
										
										
										
											2024-08-15 01:51:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     flyTo(lon: number, lat: number, zoom: number): void | 
					
						
							| 
									
										
										
										
											2023-03-24 19:21:15 +01:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2023-04-19 03:20:49 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | export interface ExportableMap { | 
					
						
							| 
									
										
										
										
											2023-10-19 16:32:42 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Export the current map as PNG. | 
					
						
							|  |  |  |      * @param markerScale: if given, the markers will be 'markerScale' bigger. This is to use in combination with a supersized canvas to have more pixels and achieve print quality | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     exportAsPng(markerScale?: number): Promise<Blob> | 
					
						
							| 
									
										
										
										
											2023-04-19 03:20:49 +02:00
										 |  |  | } |