3

私は、任意の場所の緯度、経度、およびタイムゾーンの詳細を見つけたい iPhone アプリケーションに取り組んでいます。

これらすべての詳細を一度に取得するにはどうすればよいですか。

緯度と経度は簡単にわかりますが、その場所の正確なタイム ゾーンを取得するにはどうすればよいでしょうか。

誰でも私を案内してもらえますか?

ありがとう。

4

7 に答える 7

3

あなたはこれが欲しいようです:-

NSString *timeZoneName = [[NSTimeZone localTimeZone] name];

それは私に返っ"Asia/Kolkata"てきます。

を使用している場合はsystemTimeZone、システム (デバイス) 自体が使用するタイムゾーンを表します。はlocalTimeZone、アプリケーションの現在の既定のタイム ゾーンを表すオブジェクトを返します。

この API を使用してデータを取得し、緯度と経度の値を渡します。

timeZoneを取得するためのAPI

于 2013-05-13T06:53:07.690 に答える
1

CLLocation から NSTimeZone を取得します: https://github.com/Alterplay/APTimeZonesこのユーティリティは、サード パーティ サービスのないデバイスでローカルに動作します。

于 2013-10-23T14:20:36.583 に答える
1

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];
于 2013-05-13T06:54:19.083 に答える
0

を使用して、任意のデバイスからタイムゾーンを取得できます

NSTimeZone* destinationTimeZone = [NSTimeZone systemTimeZone];

于 2013-05-13T06:36:39.337 に答える
0

その場合にAPIを使用して知りたい場合は、このAPIを使用して取得できますが、このAPIでは、最初にCLLocationManagerクラスを使用して緯度と経度を見つけてから、このAPIに入れます。

http://ws.geonames.org/timezone?lat=# {lat}&lng=#{lng}

そして、より多くのAPIについてはGoogleドキュメントを読んでください.....

https://developers.google.com/maps/documentation/timezone/

私はそれがあなたを助けることを願っています

于 2013-05-13T06:44:07.597 に答える