2011-09-18 11 views
5

Moja mapa pokazuje bieżącą lokalizację z niebieską kropką .. Oczywiście, kiedy się poruszam, niebieska kropka porusza się .. Po prostu chcę zachować cały punkt niebieskiego punktu mapy , dzięki czemu mapy na przenoszenie zamiast jak mapy nawigatora Google ..iOS jak utrzymywać bieżące centrum lokalizacji cały czas

Szukałem dużo, ale nie mógł znaleźć sposób ...

Odpowiedz

7

W swojej widoku mapy delegata to zrobić:

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation 
{ 
    [mapView setCenterCoordinate:userLocation.location.coordinate animated:YES]; 
} 
+0

Po tym właśnie byłem. Dzięki :) – MomentH

+0

@daniel jak przenieść ten punkt na środek? http://stackoverflow.com/questions/38481559/viewforannotation-didnt-moves-the-userlocation –

-1

najłatwiej byłoby stworzenie nowego UIView na górze widoku mapy jest z niebieska kropka i przenosi tylko widok mapy.

+0

Nie trzeba przesuwać widoku mapy; zamiast tego zmieniasz region wyświetlany na mapie. A jeśli zrobisz to poprawnie, nie ma potrzeby oddzielnego widoku wskaźnika pozycji. – Caleb

+0

Oczywiście, o ile używa mapy (i jeszcze tego nie wiemy) – Luis

1

Spróbuj użyć mapView.userTrackingMode = MKUserTrackingModeFollow;, dostaniesz płynność przesuwu niż ręcznie za pomocą menedżera lokalizacji.

Ponadto należy pamiętać, że istnieje gotowy przycisk do zarządzania różnymi stanami śledzenia: MKUserTrackingBarButtonItem.

Powiązane problemy