@@ -3,4 +3,100 @@ title: GoogleMap
33description : description
44---
55
6- 🛠🛠🛠 This documentation is currently in progress. 🛠🛠🛠
6+ import { GoogleMapEx } from ' ../../../../components/api/GoogleMap' ;
7+
8+ ` <GoogleMap /> ` component is used for display <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map' target = ' _blank' rel = ' noreferrer' >Map</a > instance.
9+
10+ ### Basic Example
11+
12+ ``` tsx
13+ function App() {
14+ return (
15+ <Suspense fallback = { ... } >
16+ <GoogleMapApiLoader
17+ apiKey = ' YOUR_API_KEY'
18+ suspense
19+ >
20+ <GoogleMap
21+ // map container element props
22+ className = ' h-[400px]'
23+ containerProps = { { id: ' my-map' }}
24+ // map options
25+ zoom = { 16 }
26+ center = { { lat: 37.5111158 , lng: 127.098167 }}
27+ mapOptions = { {
28+ mapTypeId: ' satellite' ,
29+ }}
30+ />
31+ </GoogleMapApiLoader >
32+ </Suspense >
33+ );
34+ }
35+ ```
36+
37+ <GoogleMapEx client :only = ' react' />
38+
39+ ### Props
40+
41+ | Props | Type | Description |
42+ | ----------- | ----------- | ----------- |
43+ | style | ` HTMLAttributes<HTMLDivElement>['style'] ` | style props for map container element |
44+ | className | ` HTMLAttributes<HTMLDivElement>['className'] ` | className props for map container element |
45+ | containerProps | ` HTMLAttributes<HTMLDivElement> ` | props object for map container element |
46+ | initialCenter | ` google.maps.LatLng \| google.maps.LatLngLiteral ` | initial Map center. |
47+ | initialZoom | ` number ` | initial Map zoom level. |
48+ | zoom | ` number ` | map zoom level. |
49+ | center | ` google.maps.LatLng \| google.maps.LatLngLiteral ` | map center coordiante. |
50+ | mapOptions | ` google.maps.MapOptions ` | options for map. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#MapOptions' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
51+ | onLoad | ` (map: google.maps.Map) => void ` | callback for map creating success |
52+ | onBoundsChanged | ` (map: google.maps.Map) => void ` | callback for ` bounds_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
53+ | onCenterChanged | ` (map: google.maps.Map) => void ` | callback for ` center_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
54+ | onClick | ` (map: google.maps.Map, event: google.maps.MapMouseEvent \| google.maps.IconMouseEvent) => void ` | callback for ` click ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
55+ | onContextmenu | ` (map: google.maps.Map, event: google.maps.MapMouseEvent) => void ` | callback for ` contextmenu ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
56+ | onDblclick | ` (map: google.maps.Map, event: google.maps.MapMouseEvent) => void ` | callback for ` dblclick ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
57+ | onDrag | ` (map: google.maps.Map) => void ` | callback for ` drag ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
58+ | onDragEnd | ` (map: google.maps.Map) => void ` | callback for ` dragend ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
59+ | onDragStart | ` (map: google.maps.Map) => void ` | callback for ` dragstart ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
60+ | onHeadingChanged | ` (map: google.maps.Map) => void ` | callback for ` heading_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
61+ | onIdle | ` (map: google.maps.Map) => void ` | callback for ` idle ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
62+ | onIsFractionalZoomEnabledChanged | ` (map: google.maps.Map) => void ` | callback for ` isfractionalzoomenabled_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
63+ | onMapCapabilitiesChanged | ` (map: google.maps.Map) => void ` | callback for ` mapcapabilities_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
64+ | onMapTypeIdChanged | ` (map: google.maps.Map) => void ` | callback for ` maptypeid_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
65+ | onMouseMove | ` (map: google.maps.Map, event: google.maps.MapMouseEvent) => void ` | callback for ` mousemove ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
66+ | onMouseOut | ` (map: google.maps.Map, event: google.maps.MapMouseEvent) => void ` | callback for ` mouseout ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
67+ | onMouseOver | ` (map: google.maps.Map, event: google.maps.MapMouseEvent) => void ` | callback for ` mouseover ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
68+ | onProjectionChanged | ` (map: google.maps.Map) => void ` | callback for ` projection_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
69+ | onRenderingTypeChanged | ` (map: google.maps.Map) => void ` | callback for ` renderingtype_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
70+ | onTilesLoaded | ` (map: google.maps.Map) => void ` | callback for ` tilesloaded ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
71+ | onTiltChanged | ` (map: google.maps.Map) => void ` | callback for ` tilt_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
72+ | onZoomChanged | ` (map: google.maps.Map) => void ` | callback for ` zoom_changed ` event. Please refer to the <a href = ' https://developers.google.com/maps/documentation/javascript/reference/map#Map-Events' target = ' _blank' rel = ' noreferrer' >official documentation</a >. |
73+
74+ ### Access the Map Instance
75+
76+ You can access the map instance through three methods.
77+
78+ - 1 . Event Callbacks (` onLoad ` and others)
79+ - 2 . ` ref `
80+ - 3 . ` useMapContext `
81+
82+ ``` tsx
83+ const [map, setMap] = useState < google .maps .Map | null (null );
84+ <GoogleMap
85+ onLoad = { (map ) => setMap (map )}
86+ />
87+
88+ // / or
89+ const mapRef = useRef <google .maps .Map >(null );
90+ <GoogleMap
91+ ref = { mapRef }
92+ />
93+
94+ // / or
95+ <GooelMap >
96+ <MyComponent />
97+ </GooelMap >
98+
99+ function MyComponent() {
100+ const map = useMapContext ();
101+ }
102+ ```
0 commit comments