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