来自 CLPlacemark 的语言环境
Locale from CLPlacemark
我尝试从 CLPlacemark 对象中获取 ISO 国家代码 语言环境,例如 "en_US"。当我对对象执行 NSLog 时,我得到很多文本,包括:
address = {
"localized_address" = (
{
address = {
formattedAddressLine = (
"Piccadilly Circus",
"Coventry Street",
London,
W1J,
England
);
structuredAddress = {
administrativeArea = England;
areaOfInterest = (
"Piccadilly Circus",
"Great Britain"
);
country = "United Kingdom";
countryCode = GB;
dependentLocality = (
Mayfair
);
fullThoroughfare = "Coventry Street";
geoId = (
);
locality = London;
postCode = W1J;
subAdministrativeArea = London;
subLocality = Mayfair;
thoroughfare = "Coventry Street";
};
};
locale = "en_US";
你可以在最后一行看到我需要的信息。但我不知道如何直接访问这些信息。
当我尝试访问 CLPlacemark 的 ISOcountryCode 属性 时,我只获得了 GB。
感谢您的帮助
伯恩哈德
这有点老套,但这是您可以获取信息的一种方式
NSString *placemarkDescription = [yourPlacemark description];
NSString *regex = @"(locale)(\s+)(=)(\s+)("".*?"")(;)";
NSRange localeRange = [placemarkDescription rangeOfString:regex options:NSRegularExpressionSearch];
NSString *locale = [placemarkDescription substringWithRange:localeRange];
那个正则表达式很丑陋,可能可以改进(我使用 http://txt2re.com),但这应该可以为您获取语言环境。
我尝试从 CLPlacemark 对象中获取 ISO 国家代码 语言环境,例如 "en_US"。当我对对象执行 NSLog 时,我得到很多文本,包括:
address = {
"localized_address" = (
{
address = {
formattedAddressLine = (
"Piccadilly Circus",
"Coventry Street",
London,
W1J,
England
);
structuredAddress = {
administrativeArea = England;
areaOfInterest = (
"Piccadilly Circus",
"Great Britain"
);
country = "United Kingdom";
countryCode = GB;
dependentLocality = (
Mayfair
);
fullThoroughfare = "Coventry Street";
geoId = (
);
locality = London;
postCode = W1J;
subAdministrativeArea = London;
subLocality = Mayfair;
thoroughfare = "Coventry Street";
};
};
locale = "en_US";
你可以在最后一行看到我需要的信息。但我不知道如何直接访问这些信息。
当我尝试访问 CLPlacemark 的 ISOcountryCode 属性 时,我只获得了 GB。
感谢您的帮助 伯恩哈德
这有点老套,但这是您可以获取信息的一种方式
NSString *placemarkDescription = [yourPlacemark description];
NSString *regex = @"(locale)(\s+)(=)(\s+)("".*?"")(;)";
NSRange localeRange = [placemarkDescription rangeOfString:regex options:NSRegularExpressionSearch];
NSString *locale = [placemarkDescription substringWithRange:localeRange];
那个正则表达式很丑陋,可能可以改进(我使用 http://txt2re.com),但这应该可以为您获取语言环境。