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

  • Hands On with GitHub Copilot App Technical Preview: Turning a Blazor Issue into a PR

    GitHub's brand-new Copilot desktop app, in technical preview, handled a small Blazor issue from planning through pull request creation, but the hands-on test also showed why developers still need to verify agent work in the running app before merging.

  • At Build 2026, Microsoft Sets Up Windows as an OS for AI Agents

    Microsoft's Build 2026 Windows developer announcements point to a broader platform strategy for agentic AI, spanning terminal workflows, local models, app-building skills, Cloud PCs and operating system-level containment.

  • Slammed by Copilot Usage-Based Billing on Day 1, Facing $180 Bill for June

    A journalist using GitHub Copilot Pro details how a broken editorial workflow on day one of usage-based billing led to runaway token consumption, a projected $180 monthly bill, and practical tactics for cutting AI credit burn.

  • AdaBoost.R2 Regression Using C#

    AdaBoost.R2 regression works by building an ensemble of decision trees, training them on reweighted data, and combining their predictions with a weighted median, while also showing how parameter choices affect accuracy and overfitting.

Subscribe on YouTube