私は、任意の場所の緯度、経度、およびタイムゾーンの詳細を見つけたい iPhone アプリケーションに取り組んでいます。
これらすべての詳細を一度に取得するにはどうすればよいですか。
緯度と経度は簡単にわかりますが、その場所の正確なタイム ゾーンを取得するにはどうすればよいでしょうか。
誰でも私を案内してもらえますか?
ありがとう。
私は、任意の場所の緯度、経度、およびタイムゾーンの詳細を見つけたい iPhone アプリケーションに取り組んでいます。
これらすべての詳細を一度に取得するにはどうすればよいですか。
緯度と経度は簡単にわかりますが、その場所の正確なタイム ゾーンを取得するにはどうすればよいでしょうか。
誰でも私を案内してもらえますか?
ありがとう。
あなたはこれが欲しいようです:-
NSString *timeZoneName = [[NSTimeZone localTimeZone] name];
それは私に返っ"Asia/Kolkata"
てきます。
を使用している場合はsystemTimeZone
、システム (デバイス) 自体が使用するタイムゾーンを表します。はlocalTimeZone
、アプリケーションの現在の既定のタイム ゾーンを表すオブジェクトを返します。
この API を使用してデータを取得し、緯度と経度の値を渡します。
CLLocation から NSTimeZone を取得します: https://github.com/Alterplay/APTimeZonesこのユーティリティは、サード パーティ サービスのないデバイスでローカルに動作します。
CoreLocation を使用して経度と緯度を取得できます。
これを、緯度と経度が必要な .h クラスに追加します。
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
@interface CoreLocationViewController : UIViewController <CLLocationManagerDelegate> {
CLLocationManager *locationManager;
}
@property (retain, nonatomic) CLLocationManager *locationManager;
@end
そして、あなたの .m ファイルで
#import "CoreLocationViewController.h"
@implementation CoreLocationViewController
@synthesize locationManager;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
[self setLocationManager:[[CLLocationManager alloc] init]];
[locationManager setDelegate:self];
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyHundredMeters];
[locationManager startUpdatingLocation];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"My Latitude %f",newLocation.coordinate.latitude);
NSLog(@"My Latitude %f",newLocation.coordinate.longitude);
}
そして、現在の TimeZone については、使用できます
NSTimeZone* currentTimeZone = [NSTimeZone systemTimeZone];
NSDateFormatter *dateFormatter = [dateFormat setTimeZone:currentTimeZone];
NSDate *rightNow = [NSDate date];
NSString *dateString = [dateFormatter stringFromDate:rightNow];
を使用して、任意のデバイスからタイムゾーンを取得できます
NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];
その場合にAPIを使用して知りたい場合は、このAPIを使用して取得できますが、このAPIでは、最初にCLLocationManager
クラスを使用して緯度と経度を見つけてから、このAPIに入れます。
http://ws.geonames.org/timezone?lat=# {lat}&lng=#{lng}
そして、より多くのAPIについてはGoogleドキュメントを読んでください.....
https://developers.google.com/maps/documentation/timezone/
私はそれがあなたを助けることを願っています