mirror of
https://github.com/symfony/ux-google-map.git
synced 2026-03-23 23:42:13 +01:00
27 lines
1.7 KiB
TypeScript
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 {};
|