index.html
<script async
src="https://maps.googleapis.com/maps/api/js?key=<your_api_key>&callback=initMap">
</script>
<script>
function initGoogleMap(obj) {
map = new google.maps.Map(document.getElementById("map"), {
center: { lat: obj.lat, lng: obj.lng },
zoom: 16,
});
}
</script>
MyPage.razor
<div id="map" style="height:500px;width:100%;"></div>
MyPageBase.cs
using Microsoft.JSInterop;
[Inject]
public IJSRuntime jsRuntime { get; set; }
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await jsRuntime.InvokeVoidAsync("initGoogleMap", new { Lat = this.Store.Lat, Lng = this.Store.Lng });
}
}
Adding Marker
https://developers.google.com/maps/documentation/javascript/markers
<script>
function initGoogleMap(obj) {
var myLatlng = new google.maps.LatLng(obj.lat, obj.lng);
var mapOptions = {
zoom: 18,
center: myLatlng
}
var map = new google.maps.Map(document.getElementById("map"), mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
title: obj.title
});
// To add the marker to the map, call setMap();
marker.setMap(map);
}
</script>
Sources:
https://www.syncfusion.com/faq/blazor/general/how-can-i-add-google-maps-to-a-blazor-application
https://developers.google.com/maps/documentation/javascript/markers
Comments