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】:有两个不同的类:GeoCoordinate
和 Geocoordinate
。 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 去了哪里?
ibm mobilefirst for windows phone 8中的registerEventSourceCallback函数问题