@react-google-maps/api
Version:
React.js Google Maps API integration
41 lines (40 loc) • 1.58 kB
TypeScript
/// <reference types="googlemaps" />
import * as React from 'react';
interface OverlayViewState {
paneEl: Element | null;
containerStyle: React.CSSProperties;
}
export declare type PaneNames = keyof google.maps.MapPanes;
export interface OverlayViewProps {
mapPaneName: PaneNames;
getPixelPositionOffset?: (offsetWidth: number, offsetHeight: number) => {
x: number;
y: number;
};
bounds?: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral;
position?: google.maps.LatLng | google.maps.LatLngLiteral;
onLoad?: (overlayView: google.maps.OverlayView) => void;
onUnmount?: (overlayView: google.maps.OverlayView) => void;
}
export declare class OverlayView extends React.PureComponent<OverlayViewProps, OverlayViewState> {
static FLOAT_PANE: PaneNames;
static MAP_PANE: PaneNames;
static MARKER_LAYER: PaneNames;
static OVERLAY_LAYER: PaneNames;
static OVERLAY_MOUSE_TARGET: PaneNames;
static contextType: React.Context<google.maps.Map<Element> | null>;
state: OverlayViewState;
overlayView: google.maps.OverlayView;
containerRef: React.RefObject<HTMLDivElement>;
updatePane: () => void;
onAdd: () => void;
onPositionElement: () => void;
draw: () => void;
onRemove: () => void;
constructor(props: OverlayViewProps);
componentDidMount(): void;
componentDidUpdate(prevProps: OverlayViewProps): void;
componentWillUnmount(): void;
render(): React.ReactPortal | React.ReactNode;
}
export default OverlayView;