Windows phone 7 Windows Phone 7 GetDistanceTo()返回不正确的距离

Windows phone 7 Windows Phone 7 GetDistanceTo()返回不正确的距离,windows-phone-7,geolocation,Windows Phone 7,Geolocation,我正在开发一个小的Windows Phone应用程序。我正在数据库中存储用户的当前位置 public void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) { CurrentLatitude = e.Position.Location.Latitude.ToString(); CurrentLongitude = e.Position.Loc

我正在开发一个小的Windows Phone应用程序。我正在数据库中存储用户的当前位置

public void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    CurrentLatitude = e.Position.Location.Latitude.ToString(); 
    CurrentLongitude = e.Position.Location.Longitude.ToString();
}
下面是检索存储在数据库中的当前位置的代码

public void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    CurrentLatitude = e.Position.Location.Latitude.ToString(); 
    CurrentLongitude = e.Position.Location.Longitude.ToString();
}
ClientLocation:保存在数据库中的位置

public void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    CurrentLatitude = e.Position.Location.Latitude.ToString(); 
    CurrentLongitude = e.Position.Location.Longitude.ToString();
}
所以我的问题是,即使用户站在数据库中保存的同一位置(1米以下),它也会给出非常大的距离

public void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    CurrentLatitude = e.Position.Location.Latitude.ToString(); 
    CurrentLongitude = e.Position.Location.Longitude.ToString();
}
示例Cordinate(从设备中提取)

保存在数据库中

纬度:29.8752546310425
长:73.8865985870361

电流科迪酸盐

纬度:29.8734102249146
长:73.9049253463745

距离 1780.45


有人能告诉我这里有什么问题吗?或者用一种更好的方法来计算两个坐标之间的距离吗?

根据它,从a到B的距离是1.11英里。这大约是1780米,所以我看不出有什么问题。请阅读有关横向和纵向计算的帮助。

据了解,从a到B的距离是1.11英里。这大约是1780米,所以我不知道问题出在哪里。阅读有关横向和纵向计算的帮助。

GeoCoordinateWatcher公开MovementThreshold属性。此属性指定在引发PositionChanged事件之前必须发生的最小位置更改。在我的例子中,movementThreshold设置为10.0f米,我现在将其设置为1.0f米,以便在最小位置更改时获得正确的数据。这解决了我的问题。GeoCoordinateWatcher公开了movementThreshold属性。此属性指定在引发PositionChanged事件之前必须发生的最小位置更改。在我的例子中,movementThreshold被设置为10.0f米,我现在将其设置为1.0f米,以便在最小位置变化时获得正确的数据。这解决了我的问题。