我有一个N / S和E / W符号的坐标。我需要将其转换为CLLocationCoordinate2D
。我有度数字符串和方向字符串分别需要知道如何转换它们。
示例:
longitude: @"80.26416666666667"
longitude direction: @"E"
latitude: @"13.05866666666667"
latitude direction: @"N"
如何将N / E和W / S转换为具有正或负幅度的原始浮点值
答案 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;
}