2013-11-27 57 views
0

我試圖得到兩個地理座標之間的距離在我的Windows Phone 8的設備,在我geolocater_PositionChanged回調我有下面的代碼行:GetDistanceTo在Windows Phone 8中去了哪裏?

Windows.Devices.Geolocation.Geocoordinate coord = args.Position.Coordinate; 

從在線教程,它看起來像GetDistanceTo使用是一個Geocoordinate類的方法。但是上面的=號的任何一邊的座標類都沒有這種方法。我知道如何使用haversine公式計算距離,但我真的很想使用內置方法。

那個方法在windows phone 8/8.1 api中是哪裏?

下面的答案是正確的,但只是讓其他人都清楚,你從會有地理座標對象的緯度和經度和使用這些新起來會有地理座標類的一個實例:

GeoCoordinate location1 = new GeoCoordinate(longitude, latitude); 
Double distance = location1.GetDistanceTo(location2); 

回答

2

有兩種不同類別:GeoCoordinateGeocoordinate。 GeoCoordinate包含GetDistanceTo,因此您必須從Geocoordinate創建GeoCoordinate實例,然後才能使用此方法。

順便說一句:你可以使用ToGeoCoordinate(擴展方法)從Windows Phone Toolkit

+0

非常感謝你。 :O) – nickfox

2

您可以使用此代碼:

var CurrentLocation = new GeoCoordinate(-51.39792, -0.12084); 

var DestLocation = new GeoCoordinate(-29.83245, 31.04034); 

double Distance = CurrentLocation.GetDistanceTo(DestLocation); 

的距離將是米

相關問題