Blazor.Geolocation.WebAssembly
9.0.1
dotnet add package Blazor.Geolocation.WebAssembly --version 9.0.1
NuGet\Install-Package Blazor.Geolocation.WebAssembly -Version 9.0.1
<PackageReference Include="Blazor.Geolocation.WebAssembly" Version="9.0.1" />
<PackageVersion Include="Blazor.Geolocation.WebAssembly" Version="9.0.1" />
<PackageReference Include="Blazor.Geolocation.WebAssembly" />
paket add Blazor.Geolocation.WebAssembly --version 9.0.1
#r "nuget: Blazor.Geolocation.WebAssembly, 9.0.1"
#:package Blazor.Geolocation.WebAssembly@9.0.1
#addin nuget:?package=Blazor.Geolocation.WebAssembly&version=9.0.1
#tool nuget:?package=Blazor.Geolocation.WebAssembly&version=9.0.1
Blazorators: The Source Generated geolocation JavaScript Interop library for Blazor WebAssembly
The Blazor.Geolocation.WebAssembly package consumes the Blazor.SourceGenerators package. It exposes a source generated IGeolocation interface specific to Blazor WebAssembly and the geolocation Web API.
Get started
After the NuGet package is added as a reference, call the AddGeolocationServices method to register the IGeolocationService service type.
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");
builder.RootComponents.Add<HeadOutlet>("head::after");
builder.Services.AddScoped(
sp => new HttpClient
{
BaseAddress = new Uri(builder.HostEnvironment.BaseAddress)
});
builder.Services.AddGeolocationServices();
await builder.Build().RunAsync();
Anywhere needed within your Razor component, or Blazor client code — either @inject or [Inject] the IGeolocationService type. The interface takes the following shape:
#nullable enable
namespace Microsoft.JSInterop;
/// <summary>
/// Source generated interface definition of the <c>Geolocation</c> type.
/// </summary>
public interface IGeolocationService
{
/// <summary>
/// Source generated implementation of <c>window.navigator.geolocation.clearWatch</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Geolocation/clearWatch"></a>
/// </summary>
void ClearWatch(double watchId);
/// <summary>
/// Source generated implementation of <c>window.navigator.geolocation.getCurrentPosition</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Geolocation/getCurrentPosition"></a>
/// </summary>
/// <param name="component">The calling Razor (or Blazor) component.</param>
/// <param name="onSuccessCallbackMethodName">Expects the name of a
/// <c>"JSInvokableAttribute"</c> C# method with the following
/// <c>System.Action{GeolocationPosition}"</c>.</param>
/// <param name="onErrorCallbackMethodName">Expects the name of a
/// <c>"JSInvokableAttribute"</c> C# method with the following
/// <c>System.Action{GeolocationPositionError}"</c>.</param>
/// <param name="options">The <c>PositionOptions</c> value.</param>
void GetCurrentPosition<TComponent>(
TComponent component,
string onSuccessCallbackMethodName,
string? onErrorCallbackMethodName = null,
PositionOptions? options = null)
where TComponent : class;
/// <summary>
/// Source generated implementation of <c>window.navigator.geolocation.watchPosition</c>.
/// <a href="https://developer.mozilla.org/docs/Web/API/Geolocation/watchPosition"></a>
/// </summary>
/// <param name="component">The calling Razor (or Blazor) component.</param>
/// <param name="onSuccessCallbackMethodName">Expects the name of a
/// <c>"JSInvokableAttribute"</c> C# method with the following
/// <c>System.Action{GeolocationPosition}"</c>.</param>
/// <param name="onErrorCallbackMethodName">Expects the name of a
/// <c>"JSInvokableAttribute"</c> C# method with the following
/// <c>System.Action{GeolocationPositionError}"</c>.</param>
/// <param name="options">The <c>PositionOptions</c> value.</param>
double WatchPosition<TComponent>(
TComponent component,
string onSuccessCallbackMethodName,
string? onErrorCallbackMethodName = null,
PositionOptions? options = null)
where TComponent : class;
}
Add JavaScript dependency
In the index.html file, add the following:
<script src="_content/Blazor.Geolocation.WebAssembly/blazorators.geolocation.g.js"></script>
| 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 was computed. 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. |
-
net8.0
- Blazor.Serialization (>= 9.0.1)
- Microsoft.AspNetCore.Components.Web (>= 8.0.0)
-
net9.0
- Blazor.Serialization (>= 9.0.1)
- Microsoft.AspNetCore.Components.Web (>= 9.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on Blazor.Geolocation.WebAssembly:
| Repository | Stars |
|---|---|
|
marinasundstrom/YourBrand
Prototype enterprise system for e-commerce and consulting services
|
| Version | Downloads | Last Updated |
|---|---|---|
| 9.0.1 | 9,594 | 12/1/2024 |
| 9.0.0 | 419 | 11/22/2024 |
| 8.0.0 | 29,361 | 11/17/2023 |
| 8.0.0-rc.2.23480.2 | 1,005 | 10/13/2023 |
| 7.0.3 | 6,082 | 2/15/2023 |
| 7.0.2 | 461 | 2/7/2023 |
| 7.0.1 | 732 | 1/24/2023 |
| 7.0.0 | 712 | 1/11/2023 |
| 2.0.11 | 1,905 | 10/10/2022 |
| 2.0.10 | 649 | 5/19/2022 |
| 2.0.9 | 594 | 4/18/2022 |
| 2.0.8 | 598 | 4/14/2022 |
| 2.0.7 | 575 | 4/14/2022 |
| 2.0.6 | 584 | 4/7/2022 |
| 2.0.5 | 594 | 4/5/2022 |
| 2.0.3 | 549 | 4/5/2022 |
| 2.0.2 | 589 | 4/4/2022 |
| 2.0.1 | 568 | 4/4/2022 |
| 1.5.0 | 610 | 3/29/2022 |
| 1.4.5 | 571 | 3/26/2022 |
| 1.4.3 | 597 | 3/25/2022 |
| 1.4.2 | 565 | 3/23/2022 |
| 1.4.0 | 612 | 3/22/2022 |
| 1.3.3 | 564 | 3/18/2022 |
| 1.3.1 | 668 | 3/16/2022 |