Pokazać aktualną lokalizację użytkownika za pomocą MKMapView?
Próbuję pokazać aktualną lokalizację użytkownika, ustawiając właściwość
MKMapView, czyli
setShowsUserLocationna
YES. Domyślnie strzałka pojawia się w lewym górnym rogu ekranu iPhone'a, gdy aplikacja zaczyna aktualizować lokalizację użytkownika. Ale po pokazaniu aktualnej lokalizacji strzałka powinna zniknąć, ale nadal jest obecna, dopóki aplikacja jest uruchomiona, co oznacza, że aplikacja nadal aktualizuje lokalizację w tle? więc jak mogę przestać aktualizować moją aktualną lokalizację? Zaimplementowałem delegata, który jest natychmiast wywoływany ..
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
3 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Musisz wyczyścić to ustawienie, gdy widok znika lub gdy aplikacja przechodzi w tło. Najlepszym sposobem byłoby prawdopodobnie zarejestrowanie swojego viewController, aby otrzymywać powiadomienia dla i .
Następnie w metodzie wywoływanej przez to powiadomienie zmień właściwości widoku mapy względem :
I
Upewnij się, że te metody są rzeczywiście wywoływane, ustawiając tam punkt przerwania i powracając do ekranu głównego.
Anonimowy użytkownik
Potwierdzenie od:
wydaje się próbować samodzielnie usunąć (niebieska kropka), gdy tylko zorientuje się, że utracił dostęp do usług lokalizacyjnych.
Jednak nie wydaje się to bezpieczne, a jeśli programista wydaje również
[mapView setShowsUserLocation: NO]
, jest bardzo prawdopodobne, że wystąpi awaria z powodu wyścigu między wewnętrznym wątek próbujący usunąć i wątek wywołujący .Anonimowy użytkownik
Potwierdzenie od:
[self.locationManager stopUpdatingLocation];
Jeśli chodzi o Twój przypadek, czy próbowałeś przestać pokazywać lokalizację użytkowników?