Determine User Location

Jassim Al Rahma 1,526 Reputation points
2021-07-15T12:40:45.297+00:00

Hi,

ia m trying to determine the user location so that. can redirect to the store page based on his location (which is the country or state)

I know it can be done with Xamarin Essentials but what if he did not grant the access?

i though of getting the location from his IP.

I tried below code:

private string GetLocalAddress()
{
    var host = Dns.GetHostEntry(Dns.GetHostName());
    foreach (var ip in host.AddressList)
    {
        if (ip.AddressFamily == AddressFamily.InterNetwork)
        {
            return ip.ToString();
        }
    }

    throw new Exception("Local IP Address Not Found!");
}

but getting:

System.Net.Sockets.SocketException: Could not resolve host 'iPhone'

Kindly advise..

Xamarin
Xamarin
A Microsoft open-source app platform for building Android and iOS apps with .NET and C#.
5,294 questions
.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,384 questions
C#
C#
An object-oriented and type-safe programming language that has its roots in the C family of languages and includes support for component-oriented programming.
10,260 questions
.NET Runtime
.NET Runtime
.NET: Microsoft Technologies based on the .NET software framework.Runtime: An environment required to run apps that aren't compiled to machine language.
1,120 questions
{count} votes

1 answer

Sort by: Oldest
  1. Castorix31 81,726 Reputation points
    2021-07-15T13:25:37.627+00:00

    The method : Get the user's location works for me (Windows 10, VS 2019)
    (test in a Winforms app, without "location capability", I get GeolocationAccessStatus.Allowed and the right location
    with Geoposition pos = await geolocator.GetGeopositionAsync();)

    0 comments No comments