-1

我有一个带有 N/S 和 E/W 符号的坐标。我需要将其转换为CLLocationCoordinate2D. 我有度数字符串和方向字符串分别需要知道如何转换它们。

例子:

longitude: @"80.26416666666667"
longitude direction: @"E"
latitude: @"13.05866666666667"
latitude direction: @"N"

如何将 N/E 和 W/S 转换为具有正值或负值的原始浮点值

4

1 回答 1

1

可以使用以下方法将字符串转换为数字NSString

#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>

int main(int argc, const char * argv[])
{
    @autoreleasepool {

        NSString *longitudeStr = @"80.26416666666667";
        NSString *longitudeCardinalDirection = @"E";
        NSString *latitudeStr = @"13.05866666666667";
        NSString *latitudeCardinalDirection = @"N";

        CLLocationDegrees longitude = [longitudeStr doubleValue];
        CLLocationDegrees latitude = [latitudeStr doubleValue];

        if ([longitudeCardinalDirection isEqualToString:@"W"]) longitude *= -1;
        if ([latitudeCardinalDirection isEqualToString:@"S"]) latitude *= -1;

        CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(latitude, longitude);

        NSLog(@"%f, %f", coord.latitude, coord.longitude);
    }
    return 0;
}
于 2014-03-29T20:41:10.507 回答