【问题标题】:Where did the GetDistanceTo go in Windows Phone 8?Windows Phone 8 中的 GetDistanceTo 去了哪里?
【发布时间】: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); 

【问题讨论】:

    标签: c# windows-phone-8


    【解决方案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);
      

      距离以米为单位

      【讨论】:

        猜你喜欢
        • 2014-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-12
        • 1970-01-01
        • 2014-09-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多