Showing posts with label Maps. Show all posts
Showing posts with label Maps. Show all posts

Tuesday, February 11, 2014

AP Time Zones

An utility for iOS and OSX developers to simplify extracting NSTimeZone from a given CLLocation.
You can do the same job by calling Google API or Yahoo API but APTimeZones works locally, offline and with no limits inherented to hosted solutions.

Usage:

//Ukraine location
CLLocation *location = [[CLLocation alloc] initWithLatitude:50.449846
                                                  longitude:30.523629];

NSTimeZone *timeZone = [[APTimeZones sharedInstance] timeZoneWithLocation:location];
NSLog(@"%@", timeZone);
You can use APTimeZones with Apple CLGeocoder as well to receive NSTimeZone for a given city string.
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:@"New York" completionHandler:^(NSArray *placemarks, NSError *error) {
    if (placemarks.count) {
        CLPlacemark *placemark = placemarks[0];
        CLLocation *location = placemark.location;

        NSString *countryCode = placemark.addressDictionary[@"CountryCode"];
        NSTimeZone *timeZone = [[APTimeZones sharedInstance] timeZoneWithLocation:location
                                                                      countryCode:countryCode];
        NSLog(@"%@", timeZone);
    } 
}];

Version 1.1:

We've added some handy categories with version 1.1 to make timezones magic even more easy.
CLLocation+APTimeZones
CLPlacemark+APTimeZones
Usage:
CLLocation *location = ...
NSLog(@"%@", location.timeZone);

CLPlacemark *placemark = ...;
NSLog(@"%@", placemark.timeZone);
Also, we've added example project that shows APTimeZones usage [Demo Video on YouTube]:
githalytics.com alpha If you have improvements or concerns, feel free to post an issue and write details.

Download: https://github.com/Alterplay/APTimeZones/archive/master.zip