Working With Location in Windows Phone: Listing 2
Retrieving location service information.
- By Nick Randolph
- 06/11/2012
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.