SQLITE DB 용 LAT, LNG를 사용하여지도를 플로팅하려고하지만지도가 그리기 전에 내 위치를 얻을 수 없습니다. 우그!
문제
내가 할 수있는 일 : 100 LAT 및 LNG 포인트의 SQLITE DB를 가져 와서 핀을지도에 떨어 뜨립니다. 좋아 보인다!
내가하고 싶은 것은지도를 그리기 전에 내 위치를 얻는 것입니다. 그러나 그것은 다음과 같습니다.
- (void) LocationManager : (CllocationManager *) 관리자 DIDUPDATETOLOCATION : (Cllocation *) NewLocation fromLocation : (Cllocation *) OldLocation
(void) ViewDidload가 실행 된 후에 항상 발사됩니다. 어디에서 삽입하든 상관 없습니다.
내가해야 할 일은 스플래시 스크린을 가지고 있고, 위치를 얻을 때까지 멈추고, 그 LAT와 LNG를 사용하여 내 수 마일 안에있는 SQLITE DB 위치를 검색하십시오.
여기 내 흔적 :
입력 -[RootViewController InitwithTabbar
입력 -[rootViewController ViewDidload
입력 -[rootViewController LocationManager : DidupDatetOlocation : FromLocation :
그리고 여기 내가 정말로 원하는 것이 있습니다.
입력 -[RootViewController InitwithTabbar
입력 -[rootViewController LocationManager : DidupDatetOlocation : FromLocation :
입력 -[rootViewController ViewDidload
이제 나는 (TabbarController와 함께 일하고 있음) 생각하고 있습니다. 어떻게 든 이것을 내 앱 대의원에게 다시 밀어야합니까? 위치를 얻을 때까지 전체 앱을 동결시겠습니까? 그것이 나의 최신 생각입니다.
팁, 리드, 스 니펫에 감사드립니다 ... !!! 나는 며칠을 찾고 있었다.
감사해요!!!!
해결책
당신은 확실히 앱을 "고정"하고 싶지 않으며, 앱 대의원에서 일을 거의하지 않기를 원합니다. applicationDidFinishLaunching:
가능한 방법. 내가 추천 할 수있는 것 :
- 두 가지보기가 있습니다. 하나는 맵이있는 "실제"보기, 아마도 일부 뷰 컨트롤러가 제어합니다. 다른 하나는 단순한 "대기 중"보기입니다.
UIActivityIndicatorView
, 또는 그런 것. - 앱이 시작되면 앱 창에 대기보기를로드하고 표시하고 위치 관리자를 시작하여 사용자의 현재 위치를 찾으십시오.
- 위치 정보가 충분하면 실제보기를로드하고 창에 추가 한 다음 대기보기를 제거하십시오. (아마도 멋진 크로스 페이드 애니메이션이나 무언가가 있습니다.)
당신은 또한 두 뷰를 모두 추가하고 단지 그들의 hidden
적시에 속성. 그러나 요점은 핵심 위치의 본질적으로 비동기적 인 특성과 싸우려고하지 않고 사용자에게 볼만한 것을주는 것입니다.