Working With Location in Windows Phone: Listing 2

Retrieving location service information.

private void LocationPositionChanged(object sender, 
                         GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    if (e == null || e.Position == null) return;
    CurrentLocation = e.Position.Location;
}

private void LocationStatusChanged(object sender, 
                                   GeoPositionStatusChangedEventArgs e)
{
    switch (e.Status)
    {
        case GeoPositionStatus.Initializing:
        case GeoPositionStatus.NoData:
            LocationTrackingBrush = LocationTrackingStoppedBrush;
            break;
        case GeoPositionStatus.Disabled:
            LocationTrackingBrush = LocationTrackingDisabledBrush;
            break;
        case GeoPositionStatus.Ready:
            LocationTrackingBrush = LocationTrackingRunningBrush;
            break;
    }

}

private GeoCoordinate currentLocation;
public GeoCoordinate CurrentLocation
{
    get { return currentLocation; }
    set
    {
        if (CurrentLocation == value) return;
        currentLocation = value;
        RaisePropertyChanged("CurrentLocation");
    }
}

private Brush locationTrackingBrush = LocationTrackingStoppedBrush;
public Brush LocationTrackingBrush
{
    get { return locationTrackingBrush; }
    set
    {
        if (LocationTrackingBrush == value) return;
        locationTrackingBrush = value;
        RaisePropertyChanged("LocationTrackingBrush");
    }
}
                
private static Brush LocationTrackingRunningBrush = 
new SolidColorBrush(Colors.Green);
private static Brush LocationTrackingStoppedBrush = 
new SolidColorBrush(Colors.Orange);
private static Brush LocationTrackingDisabledBrush = 
new SolidColorBrush(Colors.Red);

About the Author

Nick Randolph runs Built to Roam, a consulting company that specializes in training, mentoring and assisting other companies build mobile applications. With a heritage in rich client applications for both the desktop and a variety of mobile platforms, Nick currently presents, writes and educates on the Windows Phone platform.

comments powered by Disqus

Featured

  • Top 3 Blazor Extensions for Visual Studio Code

    Some developers prefer to create applications with Microsoft's open-source Blazor tooling from within the open-source, cross-platform Visual Studio Code editor. Here are the top tools in the VS Code Marketplace for those folk, as measured by the number of installations.

  • How to Invert a Machine Learning Matrix Using C#

    VSM Senior Technical Editor Dr. James McCaffrey, of Microsoft Research, explains why inverting a matrix -- one of the more common tasks in data science and machine learning -- is difficult and presents code that you can use as-is, or as a starting point for custom matrix inversion scenarios.

  • Microsoft Engineer: 'It's Time to Move OData to .NET 5'

    Microsoft engineer Sam Xu says "it’s time to move OData to .NET 5" and in a new blog post he shows how to do just that.

  • Microsoft Goes Virtual with Developer Education in Face of COVID-19

    Like many organizations that host developer educational events, Microsoft has gone virtual amid shelter-in-place directives and a surge in remote work stemming from the COVID-19 pandemic.

  • Microsoft Enhances Low-Code Power Apps

    Microsoft's nod to the low-code movement, Power Apps, has been enhanced with a bevy of new features, including mixed reality, canvas/model support in a new mobile app, UX improvements and more.

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.

Upcoming Events