So verhindern Sie, dass MapView aktualisiert wird

8

Ich bin ziemlich neu in der Programmierung für das iPhone, aber ich habe eine App mit nur einem MKMapView erstellt. Ich habe es geschafft, um zu meinem Standort zu zoomen, aber ich aktualisiere den Standort. Mein Punkt ist, dass ich will, dass es mich automatisch stoppt, es kann immer noch gehen, aber ich will es nur aufhören zu lokalisieren. Wenn ich in irgendeine Richtung rutsche, zwingt es mich zurück zu meinem Ort, oder wenn ich spazieren gehe und die Position aktualisiere. Meine Idee ist, dass ich möchte, dass die App mit einigen Anmerkungen funktioniert.

Einige Codes

%Vor%

Ich hoffe wirklich, dass jemand weiß, wie man das erreicht ...

    
user1086801 08.12.2011, 01:18
quelle

4 Antworten

9

Ihr Problem besteht darin, dass Sie die Mitte der Karte jedes Mal festlegen, wenn der Standort des Benutzers aktualisiert wird. Dies ist eine Lösung ... in Ihrem Header:

%Vor%

und dann ...

%Vor%

Oder wenn Sie die Karte niemals auf den Benutzer zentrieren möchten, entfernen Sie einfach die folgenden Zeilen:

%Vor%     
Michael Frederick 08.12.2011 01:47
quelle
6

Wenn das Gerät immer noch Standortaktualisierungen erhält, führt es selbst dann, wenn Sie es ignorieren, das GPS aus und durchbrennt den Akku. Nachdem Sie den Standort des Objekts entweder durch Überprüfen der Anzahl der Verschiebungen oder durch Messen der Genauigkeit des Fixes (CLLocation. HorizontalAccuracy) festgelegt haben, können Sie Standortaktualisierungen in Ihrer Kartenansicht einfach wie folgt deaktivieren:

%Vor%

Wenn Sie einen CLLocationManager verwendet hätten, wäre

%Vor%     
Craig 08.12.2011 17:19
quelle
1

Ich würde vorschlagen, diese guten Antworten in einer Lösung zu kombinieren - um zu verhindern, dass die Karte nach Erreichen einer gewünschten horizontalen Genauigkeit an Ihren Standort zurückkehrt. 100 Meter sind gut für mich, aber zögern Sie nicht, eine andere Nummer zu verwenden:

%Vor%     
Wojtek 09.11.2012 23:47
quelle
0

Was ich für eine ähnliche Situation getan habe, war, eine Variable zu erstellen, um zu verfolgen, wie oft ich die Karte zentriert habe und sie nur 3 oder 4 Mal laufen ließ. Ich tat dies, weil, wenn ich nur einmal auf den Benutzer zentrierte, manchmal Bereiche mit schlechter Verbindung die Karte nicht auf die Verwendung zentriert, sondern stattdessen um eine erhebliche Entfernung war. Du könntest also so etwas tun:

%Vor%     
gurooj 08.12.2011 02:39
quelle

Tags und Links