Determine User Location

Jassim Al Rahma 1,571 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,348 questions
.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,841 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,913 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,159 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Castorix31 85,131 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

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.