I've looked microsoft documents and there's something that catches my attention.
The distance that must be moved, in meters, relative to the coordinate
from the last PositionChanged event, before the location provider
raises another PositionChanged event.
Remarks
The default movement threshold is zero, which means that any
change in location detected by the current location provider causes a
PositionChanged event and an update in the Position property.
// Get location
CLocation myLocation = new CLocation();
myLocation.GetLocationEvent();
You must be register PostionChange event to get location information
Use the location class (CLocation) where do you need.
GeoLocation Information MSDN
public class CLocation
{
GeoCoordinateWatcher watcher;
public void GetLocationEvent()
{
this.watcher = new GeoCoordinateWatcher();
this.watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);
bool started = this.watcher.TryStart(false, TimeSpan.FromMilliseconds(2000));
if (!started)
{
Console.WriteLine("GeoCoordinateWatcher timed out on start.");
}
}
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
PrintPosition(e.Position.Location.Latitude, e.Position.Location.Longitude);
}
void PrintPosition(double Latitude, double Longitude)
{
Console.WriteLine("Latitude: {0}, Longitude {1}", Latitude, Longitude);
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…