///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
///
import { type MapCoordinate } from "../components/types";
declare const googleMap: () => {
maps: {
Map: typeof google.maps.Map;
MapTypeId: {
readonly HYBRID: google.maps.MapTypeId.HYBRID;
readonly ROADMAP: google.maps.MapTypeId.ROADMAP;
readonly SATELLITE: google.maps.MapTypeId.SATELLITE;
readonly TERRAIN: google.maps.MapTypeId.TERRAIN;
};
MapTypeRegistry: typeof google.maps.MapTypeRegistry;
TrafficLayer: typeof google.maps.TrafficLayer;
TransitLayer: typeof google.maps.TransitLayer;
BicyclingLayer: typeof google.maps.BicyclingLayer;
LatLng: typeof google.maps.LatLng;
LatLngBounds: typeof google.maps.LatLngBounds;
Point: typeof google.maps.Point;
Size: typeof google.maps.Size;
event: {
addDomListener: typeof google.maps.event.addDomListener;
addDomListenerOnce: typeof google.maps.event.addDomListenerOnce;
addListener: typeof google.maps.event.addListener;
addListenerOnce: typeof google.maps.event.addListenerOnce;
clearInstanceListeners: typeof google.maps.event.clearInstanceListeners;
clearListeners: typeof google.maps.event.clearListeners;
removeListener: typeof google.maps.event.removeListener;
trigger: typeof google.maps.event.trigger;
};
MVCObject: typeof google.maps.MVCObject;
MVCArray: typeof google.maps.MVCArray;
MapTypeControlStyle: {
[x: number]: string;
readonly DEFAULT: google.maps.MapTypeControlStyle.DEFAULT;
readonly HORIZONTAL_BAR: google.maps.MapTypeControlStyle.HORIZONTAL_BAR;
readonly DROPDOWN_MENU: google.maps.MapTypeControlStyle.DROPDOWN_MENU;
readonly INSET: google.maps.MapTypeControlStyle.INSET;
readonly INSET_LARGE: google.maps.MapTypeControlStyle.INSET_LARGE;
};
ScaleControlStyle: {
[x: number]: string;
readonly DEFAULT: google.maps.ScaleControlStyle.DEFAULT;
};
ZoomControlStyle: {
[x: number]: string;
readonly DEFAULT: google.maps.ZoomControlStyle.DEFAULT;
readonly SMALL: google.maps.ZoomControlStyle.SMALL;
readonly LARGE: google.maps.ZoomControlStyle.LARGE;
};
ControlPosition: {
[x: number]: string;
readonly BOTTOM_CENTER: google.maps.ControlPosition.BOTTOM_CENTER;
readonly BOTTOM_LEFT: google.maps.ControlPosition.BOTTOM_LEFT;
readonly BOTTOM_RIGHT: google.maps.ControlPosition.BOTTOM_RIGHT;
readonly LEFT_BOTTOM: google.maps.ControlPosition.LEFT_BOTTOM;
readonly LEFT_CENTER: google.maps.ControlPosition.LEFT_CENTER;
readonly LEFT_TOP: google.maps.ControlPosition.LEFT_TOP;
readonly RIGHT_BOTTOM: google.maps.ControlPosition.RIGHT_BOTTOM;
readonly RIGHT_CENTER: google.maps.ControlPosition.RIGHT_CENTER;
readonly RIGHT_TOP: google.maps.ControlPosition.RIGHT_TOP;
readonly TOP_CENTER: google.maps.ControlPosition.TOP_CENTER;
readonly TOP_LEFT: google.maps.ControlPosition.TOP_LEFT;
readonly TOP_RIGHT: google.maps.ControlPosition.TOP_RIGHT;
};
geometry: {
encoding: {
decodePath: typeof google.maps.geometry.encoding.decodePath;
encodePath: typeof google.maps.geometry.encoding.encodePath;
};
spherical: {
computeArea: typeof google.maps.geometry.spherical.computeArea;
computeDistanceBetween: typeof google.maps.geometry.spherical.computeDistanceBetween;
computeHeading: typeof google.maps.geometry.spherical.computeHeading;
computeLength: typeof google.maps.geometry.spherical.computeLength;
computeOffset: typeof google.maps.geometry.spherical.computeOffset;
computeOffsetOrigin: typeof google.maps.geometry.spherical.computeOffsetOrigin;
computeSignedArea: typeof google.maps.geometry.spherical.computeSignedArea;
interpolate: typeof google.maps.geometry.spherical.interpolate;
};
poly: {
containsLocation: typeof google.maps.geometry.poly.containsLocation;
isLocationOnEdge: typeof google.maps.geometry.poly.isLocationOnEdge;
};
};
Marker: typeof google.maps.Marker;
SymbolPath: {
[x: number]: string;
readonly BACKWARD_CLOSED_ARROW: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW;
readonly BACKWARD_OPEN_ARROW: google.maps.SymbolPath.BACKWARD_OPEN_ARROW;
readonly CIRCLE: google.maps.SymbolPath.CIRCLE;
readonly FORWARD_CLOSED_ARROW: google.maps.SymbolPath.FORWARD_CLOSED_ARROW;
readonly FORWARD_OPEN_ARROW: google.maps.SymbolPath.FORWARD_OPEN_ARROW;
};
Animation: {
[x: number]: string;
readonly BOUNCE: google.maps.Animation.BOUNCE;
readonly DROP: google.maps.Animation.DROP;
};
InfoWindow: typeof google.maps.InfoWindow;
Polyline: typeof google.maps.Polyline;
Polygon: typeof google.maps.Polygon;
Rectangle: typeof google.maps.Rectangle;
Circle: typeof google.maps.Circle;
StrokePosition: {
[x: number]: string;
readonly CENTER: google.maps.StrokePosition.CENTER;
readonly INSIDE: google.maps.StrokePosition.INSIDE;
readonly OUTSIDE: google.maps.StrokePosition.OUTSIDE;
};
Data: typeof google.maps.Data;
OverlayView: typeof google.maps.OverlayView;
MapCanvasProjection: typeof google.maps.MapCanvasProjection;
KmlLayer: typeof google.maps.KmlLayer;
KmlLayerStatus: {
readonly DOCUMENT_NOT_FOUND: google.maps.KmlLayerStatus.DOCUMENT_NOT_FOUND;
readonly DOCUMENT_TOO_LARGE: google.maps.KmlLayerStatus.DOCUMENT_TOO_LARGE;
readonly FETCH_ERROR: google.maps.KmlLayerStatus.FETCH_ERROR;
readonly INVALID_DOCUMENT: google.maps.KmlLayerStatus.INVALID_DOCUMENT;
readonly INVALID_REQUEST: google.maps.KmlLayerStatus.INVALID_REQUEST;
readonly LIMITS_EXCEEDED: google.maps.KmlLayerStatus.LIMITS_EXCEEDED;
readonly OK: google.maps.KmlLayerStatus.OK;
readonly TIMED_OUT: google.maps.KmlLayerStatus.TIMED_OUT;
readonly UNKNOWN: google.maps.KmlLayerStatus.UNKNOWN;
};
ImageMapType: typeof google.maps.ImageMapType;
GroundOverlay: typeof google.maps.GroundOverlay;
StyledMapType: typeof google.maps.StyledMapType;
drawing: {
DrawingManager: typeof google.maps.drawing.DrawingManager;
OverlayType: {
readonly CIRCLE: google.maps.drawing.OverlayType.CIRCLE;
readonly MARKER: google.maps.drawing.OverlayType.MARKER;
readonly POLYGON: google.maps.drawing.OverlayType.POLYGON;
readonly POLYLINE: google.maps.drawing.OverlayType.POLYLINE;
readonly RECTANGLE: google.maps.drawing.OverlayType.RECTANGLE;
};
};
visualization: {
HeatmapLayer: typeof google.maps.visualization.HeatmapLayer;
MapsEngineLayer: typeof google.maps.visualization.MapsEngineLayer;
MapsEngineStatus: {
readonly INVALID_LAYER: google.maps.visualization.MapsEngineStatus.INVALID_LAYER;
readonly OK: google.maps.visualization.MapsEngineStatus.OK;
readonly UNKNOWN_ERROR: google.maps.visualization.MapsEngineStatus.UNKNOWN_ERROR;
};
MouseEvent: typeof google.maps.visualization.MouseEvent;
MapsEventListener: typeof google.maps.visualization.MapsEventListener;
};
MaxZoomService: typeof google.maps.MaxZoomService;
MaxZoomStatus: {
readonly ERROR: google.maps.MaxZoomStatus.ERROR;
readonly OK: google.maps.MaxZoomStatus.OK;
};
StreetViewPanorama: typeof google.maps.StreetViewPanorama;
StreetViewCoverageLayer: typeof google.maps.StreetViewCoverageLayer;
StreetViewService: typeof google.maps.StreetViewService;
StreetViewStatus: {
readonly OK: google.maps.StreetViewStatus.OK;
readonly UNKNOWN_ERROR: google.maps.StreetViewStatus.UNKNOWN_ERROR;
readonly ZERO_RESULTS: google.maps.StreetViewStatus.ZERO_RESULTS;
};
StreetViewPreference: {
readonly BEST: google.maps.StreetViewPreference.BEST;
readonly NEAREST: google.maps.StreetViewPreference.NEAREST;
};
StreetViewSource: {
readonly DEFAULT: google.maps.StreetViewSource.DEFAULT;
readonly OUTDOOR: google.maps.StreetViewSource.OUTDOOR;
};
places: {
Autocomplete: typeof google.maps.places.Autocomplete;
SearchBox: typeof google.maps.places.SearchBox;
PlacesService: typeof google.maps.places.PlacesService;
RankBy: {
[x: number]: string;
readonly PROMINENCE: google.maps.places.RankBy.PROMINENCE;
readonly DISTANCE: google.maps.places.RankBy.DISTANCE;
};
PlacesServiceStatus: {
readonly INVALID_REQUEST: google.maps.places.PlacesServiceStatus.INVALID_REQUEST;
readonly NOT_FOUND: google.maps.places.PlacesServiceStatus.NOT_FOUND;
readonly OK: google.maps.places.PlacesServiceStatus.OK;
readonly OVER_QUERY_LIMIT: google.maps.places.PlacesServiceStatus.OVER_QUERY_LIMIT;
readonly REQUEST_DENIED: google.maps.places.PlacesServiceStatus.REQUEST_DENIED;
readonly UNKNOWN_ERROR: google.maps.places.PlacesServiceStatus.UNKNOWN_ERROR;
readonly ZERO_RESULTS: google.maps.places.PlacesServiceStatus.ZERO_RESULTS;
};
AutocompleteService: typeof google.maps.places.AutocompleteService;
AutocompleteSessionToken: typeof google.maps.places.AutocompleteSessionToken;
};
Geocoder: typeof google.maps.Geocoder;
GeocoderStatus: {
readonly ERROR: google.maps.GeocoderStatus.ERROR;
readonly INVALID_REQUEST: google.maps.GeocoderStatus.INVALID_REQUEST;
readonly OK: google.maps.GeocoderStatus.OK;
readonly OVER_QUERY_LIMIT: google.maps.GeocoderStatus.OVER_QUERY_LIMIT;
readonly REQUEST_DENIED: google.maps.GeocoderStatus.REQUEST_DENIED;
readonly UNKNOWN_ERROR: google.maps.GeocoderStatus.UNKNOWN_ERROR;
readonly ZERO_RESULTS: google.maps.GeocoderStatus.ZERO_RESULTS;
};
GeocoderLocationType: {
readonly APPROXIMATE: google.maps.GeocoderLocationType.APPROXIMATE;
readonly GEOMETRIC_CENTER: google.maps.GeocoderLocationType.GEOMETRIC_CENTER;
readonly RANGE_INTERPOLATED: google.maps.GeocoderLocationType.RANGE_INTERPOLATED;
readonly ROOFTOP: google.maps.GeocoderLocationType.ROOFTOP;
};
DirectionsService: typeof google.maps.DirectionsService;
DirectionsStatus: {
readonly INVALID_REQUEST: google.maps.DirectionsStatus.INVALID_REQUEST;
readonly MAX_WAYPOINTS_EXCEEDED: google.maps.DirectionsStatus.MAX_WAYPOINTS_EXCEEDED;
readonly NOT_FOUND: google.maps.DirectionsStatus.NOT_FOUND;
readonly OK: google.maps.DirectionsStatus.OK;
readonly OVER_QUERY_LIMIT: google.maps.DirectionsStatus.OVER_QUERY_LIMIT;
readonly REQUEST_DENIED: google.maps.DirectionsStatus.REQUEST_DENIED;
readonly UNKNOWN_ERROR: google.maps.DirectionsStatus.UNKNOWN_ERROR;
readonly ZERO_RESULTS: google.maps.DirectionsStatus.ZERO_RESULTS;
};
DirectionsRenderer: typeof google.maps.DirectionsRenderer;
TravelMode: {
readonly BICYCLING: google.maps.TravelMode.BICYCLING;
readonly DRIVING: google.maps.TravelMode.DRIVING;
readonly TRANSIT: google.maps.TravelMode.TRANSIT;
readonly TWO_WHEELER: google.maps.TravelMode.TWO_WHEELER;
readonly WALKING: google.maps.TravelMode.WALKING;
};
TrafficModel: {
readonly BEST_GUESS: google.maps.TrafficModel.BEST_GUESS;
readonly OPTIMISTIC: google.maps.TrafficModel.OPTIMISTIC;
readonly PESSIMISTIC: google.maps.TrafficModel.PESSIMISTIC;
};
TransitMode: {
readonly BUS: google.maps.TransitMode.BUS;
readonly RAIL: google.maps.TransitMode.RAIL;
readonly SUBWAY: google.maps.TransitMode.SUBWAY;
readonly TRAIN: google.maps.TransitMode.TRAIN;
readonly TRAM: google.maps.TransitMode.TRAM;
};
TransitRoutePreference: {
readonly FEWER_TRANSFERS: google.maps.TransitRoutePreference.FEWER_TRANSFERS;
readonly LESS_WALKING: google.maps.TransitRoutePreference.LESS_WALKING;
};
VehicleType: {
[x: number]: string;
readonly BUS: google.maps.VehicleType.BUS;
readonly CABLE_CAR: google.maps.VehicleType.CABLE_CAR;
readonly COMMUTER_TRAIN: google.maps.VehicleType.COMMUTER_TRAIN;
readonly FERRY: google.maps.VehicleType.FERRY;
readonly FUNICULAR: google.maps.VehicleType.FUNICULAR;
readonly GONDOLA_LIFT: google.maps.VehicleType.GONDOLA_LIFT;
readonly HEAVY_RAIL: google.maps.VehicleType.HEAVY_RAIL;
readonly HIGH_SPEED_TRAIN: google.maps.VehicleType.HIGH_SPEED_TRAIN;
readonly INTERCITY_BUS: google.maps.VehicleType.INTERCITY_BUS;
readonly METRO_RAIL: google.maps.VehicleType.METRO_RAIL;
readonly MONORAIL: google.maps.VehicleType.MONORAIL;
readonly OTHER: google.maps.VehicleType.OTHER;
readonly RAIL: google.maps.VehicleType.RAIL;
readonly SHARE_TAXI: google.maps.VehicleType.SHARE_TAXI;
readonly SUBWAY: google.maps.VehicleType.SUBWAY;
readonly TRAM: google.maps.VehicleType.TRAM;
readonly TROLLEYBUS: google.maps.VehicleType.TROLLEYBUS;
};
UnitSystem: {
[x: number]: string;
readonly METRIC: google.maps.UnitSystem.METRIC;
readonly IMPERIAL: google.maps.UnitSystem.IMPERIAL;
};
DistanceMatrixService: typeof google.maps.DistanceMatrixService;
DistanceMatrixStatus: {
readonly INVALID_REQUEST: google.maps.DistanceMatrixStatus.INVALID_REQUEST;
readonly MAX_DIMENSIONS_EXCEEDED: google.maps.DistanceMatrixStatus.MAX_DIMENSIONS_EXCEEDED;
readonly MAX_ELEMENTS_EXCEEDED: google.maps.DistanceMatrixStatus.MAX_ELEMENTS_EXCEEDED;
readonly OK: google.maps.DistanceMatrixStatus.OK;
readonly OVER_QUERY_LIMIT: google.maps.DistanceMatrixStatus.OVER_QUERY_LIMIT;
readonly REQUEST_DENIED: google.maps.DistanceMatrixStatus.REQUEST_DENIED;
readonly UNKNOWN_ERROR: google.maps.DistanceMatrixStatus.UNKNOWN_ERROR;
};
DistanceMatrixElementStatus: {
readonly NOT_FOUND: google.maps.DistanceMatrixElementStatus.NOT_FOUND;
readonly OK: google.maps.DistanceMatrixElementStatus.OK;
readonly ZERO_RESULTS: google.maps.DistanceMatrixElementStatus.ZERO_RESULTS;
};
ElevationService: typeof google.maps.ElevationService;
ElevationStatus: {
readonly INVALID_REQUEST: google.maps.ElevationStatus.INVALID_REQUEST;
readonly OK: google.maps.ElevationStatus.OK;
readonly OVER_QUERY_LIMIT: google.maps.ElevationStatus.OVER_QUERY_LIMIT;
readonly REQUEST_DENIED: google.maps.ElevationStatus.REQUEST_DENIED;
readonly UNKNOWN_ERROR: google.maps.ElevationStatus.UNKNOWN_ERROR;
};
readonly version: string;
SaveWidget: typeof google.maps.SaveWidget;
FusionTablesLayer: typeof google.maps.FusionTablesLayer;
adsense: {
AdUnit: typeof google.maps.adsense.AdUnit;
AdFormat: {
readonly BANNER: google.maps.adsense.AdFormat.BANNER;
readonly BUTTON: google.maps.adsense.AdFormat.BUTTON;
readonly HALF_BANNER: google.maps.adsense.AdFormat.HALF_BANNER;
readonly LARGE_HORIZONTAL_LINK_UNIT: google.maps.adsense.AdFormat.LARGE_HORIZONTAL_LINK_UNIT;
readonly LARGE_RECTANGLE: google.maps.adsense.AdFormat.LARGE_RECTANGLE;
readonly LARGE_VERTICAL_LINK_UNIT: google.maps.adsense.AdFormat.LARGE_VERTICAL_LINK_UNIT;
readonly LEADERBOARD: google.maps.adsense.AdFormat.LEADERBOARD;
readonly MEDIUM_RECTANGLE: google.maps.adsense.AdFormat.MEDIUM_RECTANGLE;
readonly MEDIUM_VERTICAL_LINK_UNIT: google.maps.adsense.AdFormat.MEDIUM_VERTICAL_LINK_UNIT;
readonly SKYSCRAPER: google.maps.adsense.AdFormat.SKYSCRAPER;
readonly SMALL_HORIZONTAL_LINK_UNIT: google.maps.adsense.AdFormat.SMALL_HORIZONTAL_LINK_UNIT;
readonly SMALL_RECTANGLE: google.maps.adsense.AdFormat.SMALL_RECTANGLE;
readonly SMALL_SQUARE: google.maps.adsense.AdFormat.SMALL_SQUARE;
readonly SMALL_VERTICAL_LINK_UNIT: google.maps.adsense.AdFormat.SMALL_VERTICAL_LINK_UNIT;
readonly SQUARE: google.maps.adsense.AdFormat.SQUARE;
readonly VERTICAL_BANNER: google.maps.adsense.AdFormat.VERTICAL_BANNER;
readonly WIDE_SKYSCRAPER: google.maps.adsense.AdFormat.WIDE_SKYSCRAPER;
readonly X_LARGE_VERTICAL_LINK_UNIT: google.maps.adsense.AdFormat.X_LARGE_VERTICAL_LINK_UNIT;
};
};
};
};
export declare function setGoogleMap(map: typeof google): void;
declare const coordinates: Readonly<{
jb: {
lat: number;
lng: number;
};
}>;
declare function coordinateToArray(v: {
lat: number;
lng: number;
}): number[];
declare function arrayToCoordinate(arr: number[]): {
lat: number;
lng: number;
};
declare function generateAreaPaths({ center, radius }: {
radius: number;
center: {
lng: number;
lat: number;
};
}): {
lat: number;
lng: number;
}[];
declare function pathToPolygon(path: MapCoordinate[]): number[][];
declare function polygonToPath(polygon: number[][]): MapCoordinate[];
declare function getPolygonCenter(polygon: number[][]): MapCoordinate | undefined;
export { googleMap, coordinates, coordinateToArray, arrayToCoordinate, generateAreaPaths, pathToPolygon, polygonToPath, getPolygonCenter };