如何将南北方向转换为+或 - 符号目标c

时间:2014-03-29 18:20:21

标签: objective-c location cllocationcoordinate2d

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

示例:

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

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

1 个答案:

答案 0 :(得分: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;
}