Windows Phone 8 中的 GetDistanceTo 去了哪里?

Posted

技术标签:

【中文标题】Windows Phone 8 中的 GetDistanceTo 去了哪里?【英文标题】:Where did the GetDistanceTo go in Windows Phone 8? 【发布时间】:2013-11-27 22:06:09 【问题描述】:

我试图在我的 Windows Phone 8 设备上获取两个地理坐标之间的距离,在我的 geolocater_PositionChanged 回调中我有以下代码行:

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

从在线教程看来,GetDistanceTo 曾经是 Geocoordinate 类的一个方法。但是上面 = 符号两侧的坐标类都没有这种方法。我知道如何使用半正弦公式计算距离,但我真的很想使用内置方法。

windows phone 8/8.1 api中那个方法在哪里?

下面的答案是正确的,但只是为了让其他人清楚,您从 Geocoordinate 对象中获取纬度和经度并使用它们来新建 GeoCoordinate 类的实例:

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

【问题讨论】:

【参考方案1】:

有两个不同的类:GeoCoordinateGeocoordinate。 GeoCoordinate 包含GetDistanceTo,因此您必须从 Geocoordinate 创建 GeoCoordinate 实例,然后才能使用此方法。

顺便说一句:您可以使用Windows Phone Toolkit中的ToGeoCoordinate(扩展方法)

【讨论】:

【参考方案2】:

您可以使用此代码:

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

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

double Distance = CurrentLocation.GetDistanceTo(DestLocation);

距离以米为单位

【讨论】:

以上是关于Windows Phone 8 中的 GetDistanceTo 去了哪里?的主要内容,如果未能解决你的问题,请参考以下文章

Windows Phone 8 中的 GetDistanceTo 去了哪里?

我如何采取截图编程中的Windows Phone 8.1

Windows Phone 8 中的本地通知

ibm mobilefirst for windows phone 8中的registerEventSourceCallback函数问题

Windows Phone 8 中的 SHOUTcast 流

Windows Phone 8.1 中的画布移动动画