SQLITE DB 용 LAT, LNG를 사용하여지도를 플로팅하려고하지만지도가 그리기 전에 내 위치를 얻을 수 없습니다. 우그!

StackOverflow https://stackoverflow.com/questions/1621266

  •  06-07-2019
  •  | 
  •  

문제

내가 할 수있는 일 : 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 적시에 속성. 그러나 요점은 핵심 위치의 본질적으로 비동기적 인 특성과 싸우려고하지 않고 사용자에게 볼만한 것을주는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top