如何使用地理定位器确定纬度是北还是南,或者是西经还是东经?

Posted

技术标签:

【中文标题】如何使用地理定位器确定纬度是北还是南,或者是西经还是东经?【英文标题】:How to determine if Latitude is North or South, or Longitude West or East with Geolocator? 【发布时间】:2015-01-03 11:43:02 【问题描述】:

我正在 WinRT 中构建一个通用应用程序,并且能够使用 Geolocator 获取我的设备的纬度经度。但对于我的输入,我还需要方向(纬度为北、南,经度为东西)。

但是我如何知道纬度或经度是否在特定方向内?是否有内置方式,或者这样做的计算方法是什么?

51.370551.3705N

6.17246.1724E

Geoposition GeoPosition = await GeoLocator.GetGeopositionAsync();
double Latitude = GeoPosition.Coordinate.Point.Position.Latitude;
double Longitude = GeoPosition.Coordinate.Point.Position.Longitude;

亲切的问候, 尼尔斯

【问题讨论】:

【参考方案1】:

看看here。

您将获得从 -90° (S) 到 90° (N) 和 -180° (W) 到 180° (E) 的值,而不是添加 S/N 或 W/E 来指示方向。文档没有明确指定哪个方向是正的,但我在这里写的应该是最常见的约定。

【讨论】:

【参考方案2】:

常识:):

private string ConvertLatitudeToGPS(double Latitude)
    
        string Direction = "";
        double UnformattedLatitude = Latitude;
        if (Latitude > 0)
        
            Direction = "N";
        
        else
        
            UnformattedLatitude = UnformattedLatitude * -1;
            Direction = "S";
        
        string GPSString = UnformattedLatitude.ToString("0.0000") + Direction;
        return GPSString;
    

    private string ConvertLongitudeToGPS(double Longitude)
    
        string Direction = "";
        double UnformattedLongitude = Longitude;
        if (Longitude > 0)
        
            Direction = "E";
        
        else
        
            UnformattedLongitude = UnformattedLongitude * -1;
            Direction = "W";
        
        string GPSString = UnformattedLongitude.ToString("0.0000") + Direction;
        return GPSString;
    

【讨论】:

以上是关于如何使用地理定位器确定纬度是北还是南,或者是西经还是东经?的主要内容,如果未能解决你的问题,请参考以下文章

地理入门-经纬度时区速成总结篇(转)

从 CLLocationCoordinate2D 中找到边界框

怎么用经纬度查找自己在地图中的位置?

请用世界地图确定下列经纬度是啥城市 北纬36度 东经140度; 北纬38度 东经128度; 北纬

在PHP中获取用户机器的经度和纬度[重复]

通过 rails 3 使用 IP 地理定位