Files
archived-ux-google-map/assets/dist/map_controller.d.ts
2024-08-07 14:14:07 +02:00

27 lines
1.7 KiB
TypeScript

/// <reference types="google.maps" />
import AbstractMapController from '@symfony/ux-map/abstract-map-controller';
import type { Point, MarkerDefinition } from '@symfony/ux-map/abstract-map-controller';
import type { LoaderOptions } from '@googlemaps/js-api-loader';
type MapOptions = Pick<google.maps.MapOptions, 'mapId' | 'gestureHandling' | 'backgroundColor' | 'disableDoubleClickZoom' | 'zoomControl' | 'zoomControlOptions' | 'mapTypeControl' | 'mapTypeControlOptions' | 'streetViewControl' | 'streetViewControlOptions' | 'fullscreenControl' | 'fullscreenControlOptions'>;
export default class extends AbstractMapController<MapOptions, google.maps.Map, google.maps.marker.AdvancedMarkerElement, google.maps.InfoWindow> {
static values: {
providerOptions: ObjectConstructor;
};
providerOptionsValue: Pick<LoaderOptions, 'apiKey' | 'id' | 'language' | 'region' | 'nonce' | 'retries' | 'url' | 'version'>;
connect(): Promise<void>;
protected doCreateMap({ center, zoom, options, }: {
center: Point;
zoom: number;
options: MapOptions;
}): google.maps.Map;
protected doCreateMarker(definition: MarkerDefinition<google.maps.marker.AdvancedMarkerElementOptions, google.maps.InfoWindowOptions>): google.maps.marker.AdvancedMarkerElement;
protected doCreateInfoWindow({ definition, marker, }: {
definition: MarkerDefinition<google.maps.marker.AdvancedMarkerElementOptions, google.maps.InfoWindowOptions>['infoWindow'];
marker: google.maps.marker.AdvancedMarkerElement;
}): google.maps.InfoWindow;
private createTextOrElement;
private closeInfoWindowsExcept;
protected doFitBoundsToMarkers(): void;
}
export {};