반응형
CLLocationCoordinate2D가 비어 있지 않은지 확인하는 방법은 무엇입니까?
CLLocationCoordinate2D가 비어 있지 않은지 확인하는 방법은 무엇입니까?
아주 오래된 주제 였지만 지금은 필요했고 Klaas Hermanns의 도움으로 약간의 변경으로 문제를 해결했습니다.
대신에
if( myCoordinate == kCLLocationCoordinate2DInvalid ) {
NSLog(@"Coordinate invalid");
}
나는 사용해야했다
if (CLLocationCoordinate2DIsValid(myCoordinate)) {
NSLog(@"Coordinate valid");
} else {
NSLog(@"Coordinate invalid");
}
어쩌면 이것은 다른 사람을 도울 것입니다 :)
편집하다:
지적했듯이 Klaas의 게시물에서 다룬 초기화는 여전히 필요합니다.
CLLocation.h에 선언 된 상수 kCLLocationCoordinate2DInvalid를 사용할 수 있습니다.
다음을 사용하여 변수를 초기화하십시오.
CLLocationCoordinate2D myCoordinate = kCLLocationCoordinate2DInvalid;
나중에 다음으로 확인하십시오.
if( myCoordinate == kCLLocationCoordinate2DInvalid ) {
NSLog(@"Coordinate invalid");
}
부가:
때때로 이것은 더 나은 해결책 인 것 같습니다 (Rick van der Linde가 다른 답변에서 언급했듯이).
if (CLLocationCoordinate2DIsValid(myCoordinate)) {
NSLog(@"Coordinate valid");
} else {
NSLog(@"Coordinate invalid");
}
Swift 추가 :
다음과 같이 Swift에서도 동일하게 수행 할 수 있습니다.
let myCoordinate = kCLLocationCoordinate2DInvalid
if CLLocationCoordinate2DIsValid(myCoordinate) {
println("Coordinate valid")
} else {
println("Coordinate invalid")
}
if ( coordinate.latitude != 0 && coordinate.longitude != 0 )
{
....
}
func isCoordinateValid(latitude: CLLocationDegrees, longitude: CLLocationDegrees) -> Bool {
guard latitude != 0, longitude != 0, CLLocationCoordinate2DIsValid(CLLocationCoordinate2D(latitude: latitude, longitude: longitude)) else {
return false
}
return true
}
참고 URL : https://stackoverflow.com/questions/8273107/how-to-check-that-cllocationcoordinate2d-is-not-empty
반응형
'developer tip' 카테고리의 다른 글
런타임에 버튼의 "android : drawableTop"속성을 설정하는 방법 (0) | 2020.12.06 |
---|---|
ColorFilter 제거 / setColorFilter 실행 취소 (0) | 2020.12.06 |
모든 경우에 5 자리 숫자를 생성하는 JavaScript 표현식 (0) | 2020.12.06 |
버퍼를 stream2 Readable 스트림으로 래핑하는 방법은 무엇입니까? (0) | 2020.12.06 |
Android에서 프로그래밍 방식으로 TextView TextAppeareance 설정 (0) | 2020.12.06 |