1
0
mirror of https://github.com/danog/Telegram.git synced 2024-12-02 09:27:55 +01:00
Telegram/Telegraph/TGLocationReverseGeocodeResult.m
2015-10-01 19:19:52 +03:00

59 lines
1.6 KiB
Objective-C

#import "TGLocationReverseGeocodeResult.h"
@implementation TGLocationReverseGeocodeResult
+ (TGLocationReverseGeocodeResult *)reverseGeocodeResultWithDictionary:(NSDictionary *)dictionary
{
TGLocationReverseGeocodeResult *result = [[TGLocationReverseGeocodeResult alloc] init];
for (NSDictionary *component in dictionary[@"address_components"])
{
NSArray *types = component[@"types"];
__unused NSString *shortName = component[@"short_name"];
NSString *longName = component[@"long_name"];
if ([types containsObject:@"country"])
{
result->_country = longName;
result->_countryAbbr = shortName;
}
else if ([types containsObject:@"administrative_area_level_1"])
{
result->_state = longName;
result->_stateAbbr = shortName;
}
else if ([types containsObject:@"locality"])
{
result->_city = longName;
}
else if ([types containsObject:@"sublocality"])
{
result->_district = longName;
}
else if ([types containsObject:@"neighborhood"])
{
if (result->_district.length == 0)
result->_district = longName;
}
else if ([types containsObject:@"route"])
{
result->_street = longName;
}
}
return result;
}
- (NSString *)displayAddress
{
if (self.street.length > 0)
return self.street;
else if (self.city.length > 0)
return self.city;
else if (self.country.length > 0)
return self.country;
return nil;
}
@end