BlazorGoogleMaps 4.14.1
dotnet add package BlazorGoogleMaps --version 4.14.1
NuGet\Install-Package BlazorGoogleMaps -Version 4.14.1
<PackageReference Include="BlazorGoogleMaps" Version="4.14.1" />
<PackageVersion Include="BlazorGoogleMaps" Version="4.14.1" />
<PackageReference Include="BlazorGoogleMaps" />
paket add BlazorGoogleMaps --version 4.14.1
#r "nuget: BlazorGoogleMaps, 4.14.1"
#:package BlazorGoogleMaps@4.14.1
#addin nuget:?package=BlazorGoogleMaps&version=4.14.1
#tool nuget:?package=BlazorGoogleMaps&version=4.14.1
BlazorGoogleMaps
Blazor interop for GoogleMap library
Usage
- Provide your Google API key to BlazorGoogleMaps with one of the following methods. (You can get a key here: https://developers.google.com/maps/documentation/javascript/get-api-key)
Use the bootstrap loader with a key service (recommended):
services.AddBlazorGoogleMaps("YOUR_KEY_GOES_HERE");
OR specify google api libraries and/or version:
services.AddBlazorGoogleMaps(new GoogleMapsComponents.Maps.MapApiLoadOptions("YOUR_KEY_GOES_HERE")
{
Version = "beta",
Libraries = "places,visualization,drawing,marker",
});
OR to do something more complex (e.g. looking up keys asynchronously), implement a Scoped key service and add it with something like:
services.AddScoped<IBlazorGoogleMapsKeyService, YourServiceImplementation>();
OR (legacy - not recommended) Add google map script HEAD tag to wwwroot/index.html in Client side or _Host.cshtml in Server Side.
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY_GOES_HERE&v=3"></script>
- Add path to project javascript functions file in wwwroot/index.html for Blazor WASM, or in _Host.cshtml or _HostLayout.cshtml for Blazor Server.
<script src="_content/BlazorGoogleMaps/js/objectManager.js"></script>
If you want to use marker clustering add this script as well:
<script src="https://unpkg.com/@googlemaps/markerclusterer/dist/index.min.js"></script>
- Using the component is the same for both Blazor WASM and Blazor Server
@page "/map"
@using GoogleMapsComponents
@using GoogleMapsComponents.Maps
<h1>Google Map</h1>
<div style="height:@Height">
<GoogleMap @ref="@_map1" Id="map1" Options="@mapOptions" Height="100%" OnAfterInit="AfterMapRender"></GoogleMap>
</div>
@functions {
private GoogleMap _map1;
private MapOptions mapOptions;
protected override void OnInitialized()
{
mapOptions = new MapOptions()
{
Zoom = 13,
Center = new LatLngLiteral()
{
Lat = 13.505892,
Lng = 100.8162
},
MapTypeId = MapTypeId.Roadmap
};
}
private async Task AfterMapRender()
{
_bounds = await LatLngBounds.CreateAsync(_map1.JsRuntime);
}
}
OR Render markers with Blazor (currently only with v=beta version of google-maps, and specify a MapId)
@page "/map"
@using GoogleMapsComponents
@using GoogleMapsComponents.Maps
<h1>Google Map</h1>
<AdvancedGoogleMap @ref="@_map1" Id="map1" Options="@mapOptions">
@foreach (var markerRef in Markers)
{
<MarkerComponent
@key="markerRef.Id"
Lat="@markerRef.Lat"
Lng="@markerRef.Lng"
Clickable="@markerRef.Clickable"
Draggable="@markerRef.Draggable"
OnClick="@(() => markerRef.Active = !markerRef.Active)"
OnMove="pos => markerRef.UpdatePosition(pos)">
<p>I am a blazor component</p>
</MarkerComponent>
}
</AdvancedGoogleMap>
@code {
private List<MarkerData> Markers =
[
new MarkerData { Id = 1, Lat = 13.505892, Lng = 100.8162 },
];
private AdvancedGoogleMap? _map1;
private MapOptions mapOptions =new MapOptions()
{
Zoom = 13,
Center = new LatLngLiteral()
{
Lat = 13.505892,
Lng = 100.8162
},
MapId = "DEMO_MAP_ID", //required for blazor markers
MapTypeId = MapTypeId.Roadmap
};
public class MarkerData
{
public int Id { get; set; }
public double Lat { get; set; }
public double Lng { get; set; }
public bool Clickable { get; set; } = true;
public bool Draggable { get; set; }
public bool Active { get; set; }
public void UpdatePosition(LatLngLiteral position)
{
Lat = position.Lat;
Lng = position.Lng;
}
}
}
Samples
Please check server side samples https://github.com/rungwiroon/BlazorGoogleMaps/tree/master/ServerSideDemo which are most to date
ClientSide demos online https://rungwiroon.github.io/BlazorGoogleMaps/mapEvents
Breaking change from 4.0.0 Migrate to .NET 8 #286.
Breaking change from 3.0.0 Migrate from Newtonsoft.Json to System.Text.Json.
Breaking change from 2.0.0 LatLngLiteral constructor's parameters order changed #173
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.AspNetCore.Components (>= 10.0.1)
- Microsoft.AspNetCore.Components.Web (>= 10.0.1)
- Microsoft.JSInterop (>= 10.0.1)
- OneOf (>= 3.0.271)
-
net8.0
- Microsoft.AspNetCore.Components (>= 8.0.22)
- Microsoft.AspNetCore.Components.Web (>= 8.0.22)
- Microsoft.JSInterop (>= 8.0.22)
- OneOf (>= 3.0.271)
-
net9.0
- Microsoft.AspNetCore.Components (>= 9.0.11)
- Microsoft.AspNetCore.Components.Web (>= 9.0.11)
- Microsoft.JSInterop (>= 9.0.11)
- OneOf (>= 3.0.271)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on BlazorGoogleMaps:
| Package | Downloads |
|---|---|
|
templar-common-libary
Package Description |
|
|
Magiq.Blazor
Provides views and services to be used in Blazor Client and Server projects. |
|
|
AeroBlazor
A blazor library, extending MudBlazor |
|
|
Microfrontend.one
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.14.1 | 322 | 12/22/2025 |
| 4.14.0 | 1,839 | 11/27/2025 |
| 4.13.8 | 2,141 | 11/18/2025 |
| 4.13.7 | 3,808 | 10/27/2025 |
| 4.13.6 | 15,918 | 8/5/2025 |
| 4.13.5 | 1,009 | 7/30/2025 |
| 4.13.4 | 1,994 | 7/27/2025 |
| 4.13.3 | 336 | 7/26/2025 |
| 4.13.2 | 1,411 | 7/15/2025 |
| 4.13.1 | 2,078 | 7/5/2025 |
| 4.13.0 | 4,584 | 6/5/2025 |
| 4.12.2 | 2,461 | 6/2/2025 |
| 4.12.1 | 442 | 6/1/2025 |
| 4.12.0 | 548 | 5/28/2025 |
| 4.11.3 | 249 | 5/28/2025 |
| 4.11.2 | 2,082 | 5/13/2025 |
| 4.11.1 | 15,095 | 4/20/2025 |
| 4.11.0 | 788 | 4/14/2025 |
| 4.10.1 | 2,137 | 4/1/2025 |
| 4.10.0 | 750 | 3/30/2025 |
| 4.9.5 | 377 | 3/28/2025 |
| 4.9.4 | 265 | 3/27/2025 |
| 4.9.3 | 6,937 | 2/23/2025 |
| 4.9.2 | 15,090 | 12/14/2024 |
| 4.9.1 | 5,671 | 11/21/2024 |
| 4.9.0 | 2,109 | 11/17/2024 |
| 4.8.0 | 364 | 11/16/2024 |
| 4.7.15 | 235 | 11/16/2024 |
| 4.7.14 | 12,977 | 10/9/2024 |
| 4.7.13 | 11,147 | 10/3/2024 |
| 4.7.12 | 1,713 | 9/29/2024 |
| 4.7.11 | 11,715 | 8/29/2024 |
| 4.7.10 | 1,391 | 8/28/2024 |
| 4.7.9 | 200 | 8/28/2024 |
| 4.7.8 | 248 | 8/28/2024 |
| 4.7.7 | 2,054 | 8/25/2024 |
| 4.7.6 | 5,633 | 8/12/2024 |
| 4.7.5 | 265 | 8/11/2024 |
| 4.7.4 | 211 | 8/10/2024 |
| 4.7.3 | 2,638 | 7/29/2024 |
| 4.7.2 | 3,687 | 7/25/2024 |
| 4.7.1 | 7,991 | 7/8/2024 |
| 4.7.0 | 393 | 7/4/2024 |
| 4.6.2 | 437 | 7/2/2024 |
| 4.6.1 | 261 | 7/1/2024 |
| 4.6.0 | 1,315 | 6/26/2024 |
| 4.5.0 | 994 | 6/22/2024 |
| 4.4.2 | 5,136 | 6/12/2024 |
| 4.4.1 | 313 | 6/11/2024 |
| 4.4.0 | 321 | 6/10/2024 |
| 4.3.0 | 7,970 | 5/15/2024 |
| 4.2.0 | 6,858 | 4/25/2024 |
| 4.1.2 | 8,743 | 3/21/2024 |
| 4.1.1 | 578 | 3/20/2024 |
| 4.1.0 | 46,898 | 2/2/2024 |
| 4.0.3 | 1,023 | 1/18/2024 |
| 4.0.2 | 4,576 | 12/20/2023 |
| 4.0.1 | 1,953 | 12/17/2023 |
| 4.0.0 | 340 | 12/15/2023 |
| 3.3.2 | 32,160 | 12/15/2023 |
| 3.3.1 | 10,388 | 12/5/2023 |
| 3.2.5 | 2,749 | 11/23/2023 |
| 3.2.4 | 267 | 11/23/2023 |
| 3.2.3 | 9,165 | 10/30/2023 |
| 3.2.2 | 1,880 | 10/25/2023 |
| 3.2.1 | 324 | 10/25/2023 |
| 3.2.0 | 4,856 | 9/18/2023 |
| 3.1.4 | 3,960 | 9/9/2023 |
| 3.1.3 | 649 | 9/3/2023 |
| 3.1.2 | 9,193 | 8/1/2023 |
| 3.1.1 | 5,333 | 7/19/2023 |
| 3.1.0 | 2,183 | 7/10/2023 |
| 3.0.8 | 370 | 7/9/2023 |
| 3.0.7 | 12,200 | 6/9/2023 |
| 3.0.6 | 7,289 | 5/7/2023 |
| 3.0.5 | 3,975 | 4/13/2023 |
| 3.0.4 | 600 | 4/11/2023 |
| 3.0.3 | 1,507 | 4/6/2023 |
| 3.0.2 | 765 | 4/3/2023 |
| 3.0.1 | 478 | 4/1/2023 |
| 3.0.0 | 1,980 | 3/28/2023 |
| 2.5.7 | 13,135 | 3/14/2023 |
| 2.5.6 | 1,099 | 3/13/2023 |
| 2.5.5 | 4,098 | 2/24/2023 |
| 2.5.4 | 10,453 | 2/11/2023 |
| 2.5.3 | 1,085 | 2/6/2023 |
| 2.5.2 | 3,227 | 1/20/2023 |
| 2.5.1 | 1,354 | 1/17/2023 |
| 2.4.4 | 13,590 | 12/13/2022 |
| 2.4.3 | 7,459 | 11/29/2022 |
| 2.4.2 | 498 | 11/29/2022 |
| 2.4.1 | 1,657 | 11/25/2022 |
| 2.3.1 | 3,005 | 11/14/2022 |
| 2.2.6 | 27,267 | 9/5/2022 |
| 2.2.5 | 1,758 | 8/27/2022 |
| 2.2.4 | 585 | 8/27/2022 |
| 2.2.3 | 1,568 | 8/22/2022 |
| 2.2.2 | 724 | 8/19/2022 |
| 2.2.1 | 34,834 | 6/28/2022 |
| 2.2.0 | 3,128 | 6/20/2022 |
| 2.1.1 | 2,611 | 5/23/2022 |
| 2.1.0 | 2,377 | 5/3/2022 |
| 2.0.6 | 874 | 4/30/2022 |
| 2.0.5 | 1,881 | 4/21/2022 |
| 2.0.4 | 1,650 | 4/15/2022 |
| 2.0.3 | 1,307 | 4/1/2022 |
| 2.0.2 | 732 | 3/30/2022 |
| 2.0.1 | 664 | 3/30/2022 |
| 2.0.0 | 1,378 | 3/29/2022 |
| 1.5.5 | 11,872 | 2/24/2022 |
| 1.5.4 | 830 | 2/21/2022 |
| 1.5.3 | 2,154 | 2/16/2022 |
| 1.5.2 | 892 | 2/15/2022 |
| 1.5.1 | 4,312 | 2/7/2022 |
| 1.4.2 | 7,292 | 12/15/2021 |
| 1.4.1 | 8,496 | 12/8/2021 |
| 1.4.0 | 556 | 12/7/2021 |
| 1.3.0 | 696 | 12/2/2021 |
| 1.2.1 | 18,049 | 10/11/2021 |
| 1.1.8 | 1,509 | 9/27/2021 |
| 1.1.7 | 702 | 9/25/2021 |
| 1.1.6 | 586 | 9/23/2021 |
| 1.1.5 | 1,569 | 9/16/2021 |
| 1.1.4 | 1,457 | 9/12/2021 |
| 1.1.3 | 729 | 9/9/2021 |
| 1.1.2 | 933 | 9/7/2021 |
| 1.1.1 | 1,466 | 8/30/2021 |
| 1.0.17 | 2,467 | 7/27/2021 |
| 1.0.16 | 1,016 | 7/17/2021 |
| 1.0.15 | 9,162 | 4/29/2021 |
| 1.0.14 | 6,083 | 4/9/2021 |
| 1.0.13 | 34,837 | 3/18/2021 |
| 1.0.12 | 4,598 | 2/13/2021 |
| 1.0.11 | 746 | 2/10/2021 |
| 1.0.10 | 622 | 2/10/2021 |
| 1.0.9 | 587 | 2/10/2021 |
| 1.0.8 | 968 | 2/3/2021 |
| 1.0.7 | 4,343 | 1/30/2021 |
| 1.0.6 | 641 | 1/28/2021 |
| 1.0.5 | 1,174 | 1/18/2021 |
| 1.0.4 | 933 | 1/14/2021 |
| 1.0.3 | 627 | 1/13/2021 |
| 1.0.2 | 1,578 | 1/1/2021 |
| 1.0.1 | 1,018 | 12/25/2020 |
| 1.0.0 | 641 | 12/25/2020 |
| 0.9.3 | 642 | 12/25/2020 |
| 0.9.2 | 895 | 12/22/2020 |
| 0.9.1 | 1,344 | 12/4/2020 |
| 0.9.0 | 7,093 | 10/23/2020 |
| 0.8.1 | 1,271 | 10/4/2020 |
| 0.8.0 | 1,958 | 9/16/2020 |
| 0.7.1 | 1,837 | 8/9/2020 |
| 0.6.14 | 720 | 8/4/2020 |
| 0.6.13 | 885 | 8/2/2020 |
| 0.6.12 | 917 | 7/28/2020 |
| 0.6.11 | 684 | 7/27/2020 |
| 0.6.10 | 3,645 | 7/20/2020 |
| 0.6.9 | 808 | 7/14/2020 |
| 0.6.8 | 835 | 7/9/2020 |
| 0.6.7 | 797 | 7/7/2020 |
| 0.6.6 | 827 | 6/30/2020 |
| 0.6.5 | 1,249 | 6/4/2020 |
| 0.6.4 | 1,756 | 5/16/2020 |
| 0.6.3 | 1,214 | 5/5/2020 |
| 0.6.2 | 1,789 | 4/16/2020 |
| 0.6.1 | 899 | 3/27/2020 |
| 0.6.0 | 714 | 3/27/2020 |
| 0.5.9 | 737 | 3/26/2020 |
| 0.5.8 | 1,126 | 3/25/2020 |
| 0.5.7 | 716 | 3/25/2020 |
| 0.5.6 | 804 | 3/17/2020 |
| 0.5.5 | 1,737 | 3/7/2020 |
| 0.5.4 | 1,100 | 2/9/2020 |
| 0.5.3 | 821 | 2/8/2020 |
| 0.5.2 | 2,026 | 1/24/2020 |
| 0.5.1-alpha | 1,008 | 12/9/2019 |
| 0.4.8-alpha | 613 | 12/1/2019 |
| 0.4.7-alpha | 733 | 10/18/2019 |
| 0.4.6-alpha | 656 | 9/26/2019 |
| 0.4.5-alpha | 500 | 8/20/2019 |
| 0.4.0-alpha | 517 | 6/15/2019 |
| 0.3.0 | 1,068 | 6/1/2019 |
| 0.1.0 | 1,225 | 2/2/2019 |