BlazorGoogleMaps 4.7.7

BlazorGoogleMaps

Blazor interop for GoogleMap library

NuGet version (BlazorGoogleMaps)

Usage

  1. 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.Map.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>
  1. 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>
  1. 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);
	 }		
}

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

No packages depend on BlazorGoogleMaps.

Version Downloads Last updated
4.13.0 0 6/5/2025
4.12.2 0 6/2/2025
4.12.1 0 6/1/2025
4.12.0 0 5/28/2025
4.11.3 0 5/28/2025
4.11.2 0 5/13/2025
4.11.1 0 4/20/2025
4.11.0 0 4/14/2025
4.10.1 0 4/1/2025
4.10.0 0 3/30/2025
4.9.5 0 3/28/2025
4.9.4 0 3/27/2025
4.9.3 1 3/7/2025
4.9.2 1 3/7/2025
4.9.1 1 3/7/2025
4.9.0 1 3/7/2025
4.8.0 1 3/7/2025
4.7.15 1 3/7/2025
4.7.14 1 3/7/2025
4.7.13 1 3/7/2025
4.7.12 1 3/7/2025
4.7.11 1 3/7/2025
4.7.10 1 3/7/2025
4.7.9 1 3/7/2025
4.7.8 1 3/7/2025
4.7.7 1 3/7/2025
4.7.6 1 3/7/2025
4.7.5 1 3/7/2025
4.7.4 1 3/7/2025
4.7.3 1 3/7/2025
4.7.2 1 3/7/2025
4.7.1 1 3/7/2025
4.7.0 1 3/7/2025
4.6.2 1 3/7/2025
4.6.1 1 3/7/2025
4.6.0 1 3/7/2025
4.5.0 1 3/7/2025
4.4.2 1 3/7/2025
4.4.1 1 3/7/2025
4.4.0 1 3/7/2025
4.3.0 1 3/7/2025
4.2.0 1 3/7/2025
4.1.2 1 3/7/2025
4.1.1 1 3/7/2025
4.1.0 1 3/7/2025
4.0.3 1 3/7/2025
4.0.2 1 3/7/2025
4.0.1 1 3/7/2025
4.0.0 1 3/7/2025
3.3.2 1 3/7/2025
3.3.1 1 3/7/2025
3.2.5 1 3/7/2025
3.2.4 1 3/7/2025
3.2.3 1 3/7/2025
3.2.2 1 3/7/2025
3.2.1 1 3/7/2025
3.2.0 1 3/7/2025
3.1.4 1 3/7/2025
3.1.3 1 3/7/2025
3.1.2 1 3/7/2025
3.1.1 1 3/7/2025
3.1.0 1 3/7/2025
3.0.8 1 3/7/2025
3.0.7 1 3/7/2025
3.0.6 1 3/7/2025
3.0.5 1 3/7/2025
3.0.4 1 3/7/2025
3.0.3 1 3/7/2025
3.0.2 1 3/7/2025
3.0.1 1 3/7/2025
3.0.0 1 3/7/2025
2.5.7 1 3/7/2025
2.5.6 1 3/7/2025
2.5.5 1 3/7/2025
2.5.4 1 3/7/2025
2.5.3 1 3/7/2025
2.5.2 4 6/25/2023
2.5.1 1 3/7/2025
2.4.4 2 3/7/2025
2.4.3 1 3/7/2025
2.4.2 1 3/7/2025
2.4.1 1 3/7/2025
2.3.1 1 3/7/2025
2.2.6 1 3/7/2025
2.2.5 1 3/7/2025
2.2.4 1 3/7/2025
2.2.3 1 3/7/2025
2.2.2 1 3/7/2025
2.2.1 1 3/7/2025
2.2.0 1 3/7/2025
2.1.1 1 3/7/2025
2.1.0 1 3/7/2025
2.0.6 1 3/7/2025
2.0.5 1 3/7/2025
2.0.4 1 3/7/2025
2.0.3 1 3/7/2025
2.0.2 1 3/7/2025
2.0.1 1 3/7/2025
2.0.0 1 3/7/2025
1.5.5 1 3/7/2025
1.5.4 1 3/7/2025
1.5.3 2 10/30/2023
1.5.2 1 3/7/2025
1.5.1 1 3/7/2025
1.4.2 1 3/7/2025
1.4.1 1 3/7/2025
1.4.0 1 3/7/2025
1.3.0 1 3/7/2025
1.2.1 1 3/7/2025
1.1.8 2 10/19/2023
1.1.7 1 3/7/2025
1.1.6 1 3/7/2025
1.1.5 1 3/7/2025
1.1.4 1 3/7/2025
1.1.3 2 10/21/2023
1.1.2 1 3/7/2025
1.1.1 1 3/7/2025
1.0.17 1 3/7/2025
1.0.16 1 3/7/2025
1.0.15 1 3/7/2025
1.0.14 1 3/7/2025
1.0.13 1 3/7/2025
1.0.12 1 3/7/2025
1.0.11 1 3/7/2025
1.0.10 1 3/7/2025
1.0.9 1 3/7/2025
1.0.8 2 3/7/2025
1.0.7 1 3/7/2025
1.0.6 1 3/7/2025
1.0.5 1 3/7/2025
1.0.4 1 3/7/2025
1.0.3 1 3/7/2025
1.0.2 1 3/7/2025
1.0.1 1 3/7/2025
1.0.0 2 3/7/2025
0.9.3 1 3/7/2025
0.9.2 1 3/7/2025
0.9.1 1 3/7/2025
0.9.0 2 10/28/2023
0.8.1 1 3/7/2025
0.8.0 1 3/7/2025
0.7.1 1 3/7/2025
0.6.14 1 3/7/2025
0.6.13 1 3/7/2025
0.6.12 1 3/7/2025
0.6.11 2 11/10/2023
0.6.10 1 3/7/2025
0.6.9 1 3/7/2025
0.6.8 1 3/7/2025
0.6.7 1 3/7/2025
0.6.6 2 11/3/2023
0.6.5 1 3/7/2025
0.6.4 1 3/7/2025
0.6.3 1 3/7/2025
0.6.2 1 3/7/2025
0.6.1 1 3/7/2025
0.6.0 1 3/7/2025
0.5.9 1 3/7/2025
0.5.8 1 3/7/2025
0.5.7 1 3/7/2025
0.5.6 1 3/7/2025
0.5.5 1 3/7/2025
0.5.4 1 3/7/2025
0.5.3 1 3/7/2025
0.5.2 1 3/7/2025
0.5.1-alpha 1 3/7/2025
0.4.8-alpha 1 3/7/2025
0.4.7-alpha 1 3/7/2025
0.4.6-alpha 1 3/7/2025
0.4.5-alpha 1 3/7/2025
0.4.0-alpha 1 3/7/2025
0.3.0 3 10/26/2023
0.1.0 1 3/7/2025