주어진 경도와 위도가 어느 NSTimeZone에 속하는 지 어떻게 알 수 있습니까?iOS에서 경도와 위도로 시간대를 식별하는 방법
답변
나를 위해 잘 된 속임수는 다음과 같습니다. 어느 시간대 식별자를 추출 할 수 있으며이 ID를 시간대로 사용할 수 있습니다.
CLLocation *location = [[CLLocation alloc] initWithLatitude:latitude longitude:longitude];
[geoCoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
if (error == nil && [placemarks count] > 0) {
placeMark = [placemarks lastObject];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"identifier = \"[a-z]*\\/[a-z]*_*[a-z]*\"" options:NSRegularExpressionCaseInsensitive error:NULL];
NSTextCheckingResult *newSearchString = [regex firstMatchInString:[placeMark description] options:0 range:NSMakeRange(0, [placeMark.description length])];
NSString *substr = [placeMark.description substringWithRange:newSearchString.range];
NSLog(@"timezone id %@",substr);
}];
는 https://github.com/Alterplay/APTimeZones, 그것은 시간대의 미리 정의 된 로컬 데이터베이스를 사용하십시오.
가능성이 매우 높다 –
주의 사항 그것은 나를 위해 일한 –
나는 APTimeZones
라이브러리를 사용했습니다. 제 경우에는 특정 도시의 위도 경도에서 시간대와 국가 이름이 필요했습니다. 나는 그것이 어떻게 작동하는지 알기 위해 도서관을 조사했다. 실제로 JSON 형식의 데이터베이스를 가지고 있는데이 데이터베이스는 해당 시간대와 함께 모든 시간대를 포함합니다. lat를 입력으로 가져오고 모든 시간대의 lat의 거리를 입력 lat long과 비교하여 데이터베이스를 통해 반복합니다. 입력 위도와의 거리가 가장 짧은 시간대를 반환합니다.
큰 나라의 국경에있는 도시에서 문제가 발생했습니다.이 도시는 이웃 국가의 시간대를 반환했습니다. 국가 코드도 추출 했으므로 주변 국가가 있습니다.
그래서 Apple의 기본 프레임 워크는이 경우에 훨씬 좋습니다.
그리고 아래 코드는 나를 잘 처리했습니다.
CLLocation *location = [[CLLocation alloc] initWithLatitude:your_latitude longitude:your_longitude];
CLGeocoder *geoCoder = [[CLGeocoder alloc]init];
[geoCoder reverseGeocodeLocation: location completionHandler:^(NSArray *placemarks, NSError *error)
{
CLPlacemark *placemark = [placemarks objectAtIndex:0];
NSLog(@"Timezone -%@",placemark.timeZone);
//And to get country name simply.
NSLog(@"Country -%@",placemark.country);
}];
타사 라이브러리가없는 가장 우아한 솔루션입니다! 나는 CLPlacemark에 timeZone 속성이 있다는 것을 믿을 수 없다. :) – PostCodeism
네, 그럴만 한 가치가있었습니다. 해피 코딩 :) – Roohul
- 1. 안드로이드에서 경도와 위도로 도시 온도를 찾는 방법은 무엇입니까?
- 2. 경도와 위도로 거리를 계산하여 SQL 쿼리를 최적화하는 방법은 무엇입니까?
- 3. iOS에서 "브라우저를 식별하는 방법"을 만드는 방법
- 4. 올바르게 이벤트를 식별하는 방법
- 5. PHP - 시간대를 수용하는 방법
- 6. 브라우저의 시간대를 조롱하는 방법?
- 7. 시간대를 변환하는 방법
- 8. 요청 시간대를 얻는 방법?
- 9. 경도/위도로 지역을 자동으로 이동
- 10. 경도 및 위도로 위치 제한
- 11. 위도와 경도에서 위도로 6, 경도로 E6
- 12. 경도와 위도로부터 각도를 구하는 방법 Openlayers
- 13. 사용자가지도를 탭하면 경도와 위도를 얻는 방법?
- 14. Eclipse가 키워드를 식별하는 방법
- 15. EXE가 WPF인지 식별하는 방법
- 16. HttpWebRequest : 브라우저로 식별하는 방법?
- 17. 익명 함수를 식별하는 방법
- 18. 화면 크기를 식별하는 방법
- 19. http 리디렉션을 식별하는 방법
- 20. 새 iPad를 식별하는 방법
- 21. HTML5를 식별하는 방법
- 22. 버튼을 식별하는 방법
- 23. 연결을 고유하게 식별하는 방법?
- 24. EKEvent에서 EKAlarm을 식별하는 방법
- 25. udev로 장치를 식별하는 방법
- 26. R지도는 경도와 위도를 플로팅합니다
- 27. textViews에 경도와 위도를 표시하려고합니다.
- 28. 시스템의 동적 시간대를 얻는 방법
- 29. application.ini에서 데이터베이스 시간대를 설정하는 방법
- 30. 표준 시간대를 저장하고 비교하는 방법
은 참고로이 예이 사과의 개인 프레임 워크입니다 – thedeveloper3124
애플 전용 프레임 워크입니다,하지만 당신은 기본 프레임 워크에서 그것을 얻을 경우 그것은 오히려 타사 라이브러리를 사용하는 것보다 좋습니다. 가 https://github.com/Alterplay/APTimeZones/issues/2이 을 읽은 후 사용하십시오 : 아이폰 OS 업데이트에서이 파괴의 –
기회는 :) 그래서 +1 – thedeveloper3124