gpt4 book ai didi

ios - 从 CLPlacemark 项中提取 dependentLocality

转载 作者:搜寻专家 更新时间:2023-11-01 05:40:35 28 4
gpt4 key购买 nike

我正在尝试提取在 CLPlacemark 对象中返回的 dependentLocality 信息。数据(匿名)看起来像

{
"cache_control" = CACHEABLE;
"start_index" = 0;
status = "STATUS_SUCCESS";
ttl = 15768000;
type = "COMPONENT_TYPE_ADDRESS";
value = (
{
address = {
"known_accuracy" = POINT;
"localized_address" = (
{
address = {
formattedAddressLine = (
"111 Some St",
"Brooklyn, NY 11111-1111",
"United States"
);
structuredAddress = {
administrativeArea = "New York";
administrativeAreaCode = NY;
areaOfInterest = (
"Long Island"
);
country = "United States";
countryCode = US;
dependentLocality = (
"Bedford Stuyvesant",
Brooklyn
);
fullThoroughfare = "111 Some St";
geoId = (
);
locality = "New York";
postCode = 11206;
postCodeExtension = 1111;
postCodeFull = "11111-1111";
subAdministrativeArea = Kings;
subLocality = Brooklyn;
subThoroughfare = 111;
thoroughfare = "Some St";
};
};
locale = "en_US";
}
);
};
}
);
"values_available" = 1;
version = 7;
"version_domain" = (
apple,
revgeo,
US
);
},

我无法访问内容(除了通过 Apple 的 structuredAddress 属性,它不包含我想要的内容)。例如,我想从上面的内容中提取“Bedford Stuyvesant, Brooklyn”。为此尝试了多种方法,但例如,将地标转换到 NSDictionary 失败。任何帮助将不胜感激!

最佳答案

也许您可以进行一些字符串处理以从 placemark.description 中提取 dependentLocality。但为什么不直接使用 placemark.subLocality 属性呢?

NSString *geoMapItem = placemark.description;
NSRange start = [geoMapItem rangeOfString:@"dependentLocality"];
NSRange end = [geoMapItem rangeOfString:@")" options:NSCaseInsensitiveSearch range:NSMakeRange(start.location, 1000)];
NSString *dataString = [geoMapItem substringWithRange:NSMakeRange(start.location, end.location - start.location + end.length)];
dataString = [dataString stringByReplacingOccurrencesOfString:@"\n" withString:@""];
dataString = [dataString stringByReplacingOccurrencesOfString:@" " withString:@""];
dataString = [dataString stringByReplacingOccurrencesOfString:@"\"" withString:@""];

start = [dataString rangeOfString:@"("];
end = [dataString rangeOfString:@")"];
NSString *arrayString = [dataString substringWithRange:NSMakeRange(start.location + 1, end.location - start.location - 1)];

NSArray *array = [arrayString componentsSeparatedByString:@","];

关于ios - 从 CLPlacemark 项中提取 dependentLocality,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31017745/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com