mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 14:45:21 +00:00
Build ChatListUI
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
#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;
|
||||
}
|
||||
|
||||
+ (TGLocationReverseGeocodeResult *)reverseGeocodeResultWithPlacemark:(CLPlacemark *)placemark
|
||||
{
|
||||
TGLocationReverseGeocodeResult *result = [[TGLocationReverseGeocodeResult alloc] init];
|
||||
result->_country = placemark.country;
|
||||
result->_countryAbbr = placemark.ISOcountryCode;
|
||||
result->_city = placemark.locality;
|
||||
result->_district = placemark.subLocality;
|
||||
result->_street = placemark.thoroughfare;
|
||||
if (placemark.name.length > 0 && result->_street.length == 0) {
|
||||
result->_street = placemark.name;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
- (NSString *)fullAddress
|
||||
{
|
||||
NSMutableArray *components = [[NSMutableArray alloc] init];
|
||||
if (self.street.length > 0)
|
||||
[components addObject:self.street];
|
||||
if (self.city.length > 0)
|
||||
[components addObject:self.city];
|
||||
if (self.country.length > 0)
|
||||
[components addObject:self.country];
|
||||
return [components componentsJoinedByString:@", "];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user