将AVMetadataItem的GPS字符串转换为CLLocation

时间:2016-11-10 02:05:32

标签: video cllocation avasset avurlasset avmetadataitem

AVAsset(或AVURLAsset)在数组中包含AVMetadataItems,其中一个可以是公共密钥AVMetadataCommonKeyLocation。

该项目的值是一个字符串,其格式如下:

  

+ 39.9410-075.2040 + 007.371 /

如何将该字符串转换为CLLocation?

2 个答案:

答案 0 :(得分:1)

好的,我发现字符串是ISO 6709格式,然后找到一些相关的Apple示例代码后想出来。

names

以下是Apple示例代码:AVLocationPlayer

此外,这里是转换回来的代码:

NSString* locationDescription = [item stringValue];

NSString *latitude  = [locationDescription substringToIndex:8];
NSString *longitude = [locationDescription substringWithRange:NSMakeRange(8, 9)];

CLLocation* location = [[CLLocation alloc] initWithLatitude:latitude.doubleValue 
                                                  longitude:longitude.doubleValue];

答案 1 :(得分:0)

我处理相同的问题,并且在Swift中使用相同的代码,而没有使用select case when col like '%FirstHalf%' then 'FH' when col like '%SecondHalf%' then 'SH' else col end as col from your_table;

substring

+ 39.9410-075.2040 + 007.371 /

locationString