GeoCoordinateWatcher::MovementThreshold Property

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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.

Namespace:   System.Device.Location
Assembly:  System.Device (in System.Device.dll)

property double MovementThreshold {
	double get();
	void set(double value);

Property Value

Type: System::Double

Distance, in meters.

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.


The movement threshold does not guarantee that events will be received at the requested threshold. The platform attempts to honor requests for a particular movement threshold, but in some cases, the events will not be raised at the requested threshold.

Note   In versions of Windows prior to Windows 7, the following conditions apply:

The following diagram represents location coordinates that the location provider (for example, a GPS device) supplies to the computer. P1, in the diagram, represents the location data included in a PositionChanged event, and P2, P3, and P4 represent points within the movement threshold. So when the location provider supplies data indicating a location at those points (P1, P2, P3, and P4), no PositionChanged events are raised, and Position returns P1. The point P5 is outside of the MovementThreshold distance, so at that point, P:System.Device.Location.GeoLocationProvider.Location is updated and a E:System.Device.Location.GeoLocationProvider.LocationChanged event is raised.

Diagram illustrating MovementThreshold

.NET Framework
Available since 4.0
Windows Phone Silverlight
Available since 7.0
Return to top