Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
# Changelog

## [1.8.0](https://github.com/visgl/react-google-maps/compare/v1.7.1...v1.8.0) (2026-03-26)


### Features

* add 2d geometry components - circle, polyline and polygon ([#917](https://github.com/visgl/react-google-maps/issues/917)) ([54b1d0e](https://github.com/visgl/react-google-maps/commit/54b1d0e338e03d2dc5defb67297d52f034f2bd99))
* add 3D map, marker and popover components ([#898](https://github.com/visgl/react-google-maps/issues/898)) ([2ba09a1](https://github.com/visgl/react-google-maps/commit/2ba09a1c2d4cd9fe3e6d0b6ad1d5047b4cda07f6))
* add fetchAppCheckToken prop to APIProvider ([#913](https://github.com/visgl/react-google-maps/issues/913)) ([992994d](https://github.com/visgl/react-google-maps/commit/992994d7e16373bf74c2e407adc5d77e5a510080))
* **api-loader:** migrate to @googlemaps/js-api-loader ([#885](https://github.com/visgl/react-google-maps/issues/885)) ([4af51dd](https://github.com/visgl/react-google-maps/commit/4af51ddf42953a7b0ca3050be712aed0e8efce32))
* **map3d:** refactor components to use custom elements ([#765](https://github.com/visgl/react-google-maps/issues/765)) ([8b60a78](https://github.com/visgl/react-google-maps/commit/8b60a78115fd6d5f321996f570089223300a736d))
* **pin:** split Pin component into modern and legacy implementations ([#945](https://github.com/visgl/react-google-maps/issues/945)) ([4826836](https://github.com/visgl/react-google-maps/commit/4826836e737ba1664d6fea3cae24e95a2303392e))


### Bug Fixes

* better handling for `clickable` prop in AdvancedMarker ([#906](https://github.com/visgl/react-google-maps/issues/906)) ([c8ff82f](https://github.com/visgl/react-google-maps/commit/c8ff82fd2fc251685782d300260d503f2d44e5a4))
* introduce useEffectEvent to improve stability of event handlers ([#866](https://github.com/visgl/react-google-maps/issues/866)) ([e44933e](https://github.com/visgl/react-google-maps/commit/e44933e7d5f3d79e845081b2cf038f05a0b001f9))
* **map:** improve reuseMaps reliability after remounting ([#920](https://github.com/visgl/react-google-maps/issues/920)) ([e9296de](https://github.com/visgl/react-google-maps/commit/e9296deeb21f127cb0b5cdc7aea7a77749824e74))
* more efficient useMemoized hook and fixed infowindow issues ([#903](https://github.com/visgl/react-google-maps/issues/903)) ([8cb7151](https://github.com/visgl/react-google-maps/commit/8cb7151caf5da2e0b325fcad9ff434913f9f8a33))
* trigger release-please action ([0eaabeb](https://github.com/visgl/react-google-maps/commit/0eaabeba45349fae98118e38929d8111134a5ba5))

## [1.7.1](https://github.com/visgl/react-google-maps/compare/v1.7.0...v1.7.1) (2025-11-03)


Expand Down
80 changes: 80 additions & 0 deletions docs/whats-new.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,86 @@ recent versions of the library. For a complete list of changes, including bug
fixes, please refer to
the [Changelog](https://github.com/visgl/react-google-maps/blob/main/CHANGELOG.md).

## Version 1.8 (March 2026)

### 2D Geometry Components: Circle, Polyline, and Polygon

Three new components make it straightforward to draw geometric shapes directly
on the map without managing the underlying Google Maps API objects manually.

- **`<Circle>`** — renders a circle at a given center and radius
- **`<Polyline>`** — draws a line through a series of coordinates (also accepts
encoded polyline strings)
- **`<Polygon>`** — renders a closed shape, supporting multiple paths for
complex geometries

All three components support controlled and uncontrolled usage, as well as the
full set of event handlers (click, drag, mouse events) and change callbacks.

```tsx
<Circle
center={{lat: 53.55, lng: 10.0}}
radius={1000}
fillColor={'#0088ff'}
fillOpacity={0.3}
strokeColor={'#0088ff'}
strokeWeight={2}
/>
```

See the API reference for
[`<Circle>`](./api-reference/components/circle.md),
[`<Polyline>`](./api-reference/components/polyline.md), and
[`<Polygon>`](./api-reference/components/polygon.md) for the full prop
documentation, and the [geometry example](https://visgl.github.io/react-google-maps/examples/geometry)
for a live demo.

### 3D Map Components: Map3D, Marker3D, and Popover

The library now ships first-class React components for the Google Maps 3D API:

- **`<Map3D>`** — renders a photorealistic 3D map (uses the `gmp-map-3d` custom
element internally) with props for camera position (`center`, `range`,
`heading`, `tilt`, `roll`) and a `useMap3D` hook to access the underlying
element
- **`<Marker3D>`** — places a 3D marker on a `<Map3D>`
- **`<Popover>`** — renders an HTML popover attached to a position on a `<Map3D>`

```tsx
<Map3D
defaultCenter={{lat: 37.7749, lng: -122.4194, altitude: 1000}}
defaultRange={5000}
defaultTilt={45}>
<Marker3D position={{lat: 37.7749, lng: -122.4194, altitude: 0}} />
</Map3D>
```

See the API reference for
[`<Map3D>`](./api-reference/components/map-3d.md),
[`<Marker3D>`](./api-reference/components/marker-3d.md), and
[`<Popover>`](./api-reference/components/popover.md), and the
[map-3d example](https://visgl.github.io/react-google-maps/examples/map-3d) for
a live demo.

### Firebase App Check Support

The `<APIProvider>` component now accepts a `fetchAppCheckToken` prop. When
provided, the token returned by this function is sent along with every Maps
JavaScript API request, enabling
[Firebase App Check](https://firebase.google.com/docs/app-check) protection for
your Maps usage.

```tsx
<APIProvider
apiKey={YOUR_API_KEY}
fetchAppCheckToken={() => getToken(appCheck).then(r => r.token)}>
{/* ... */}
</APIProvider>
```

See the [`<APIProvider>` API reference](./api-reference/components/api-provider.md)
for details.

## Version 1.7 (October 2025)

### Add support for Custom Elements
Expand Down
10 changes: 5 additions & 5 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vis.gl/react-google-maps",
"version": "1.7.1",
"version": "1.8.0",
"description": "React components and hooks for the Google Maps JavaScript API",
"source": "src/index.ts",
"main": "dist/index.umd.js",
Expand Down