Wie ein Benutzer Fahrt eine Route in einem MKMapView zu simulieren?

stimmen
0

Ich brauche zu simulieren, wie meine Anwendung aussehen wird, wenn ein Benutzer für eine Demo fährt herum. Ich habe einen MKMapView, wie kann ich das Aussehen eines Benutzers simulieren rumfahren, die die map.userLocation Funktionalität verwenden, die offensichtlich in der Demo nicht verfügbar.

Vielen Dank!

Veröffentlicht am 07/11/2009 um 23:47
quelle vom benutzer
In anderen Sprachen...                            


7 antworten

stimmen
1

Nun, ich habe etwas los, ich habe gerade im Wesentlichen dieses

- (void)moveIcon:(MKAnnotationView*)locationView toLocation:(CLLocation*)newLoc
{
    LocationAnnotation* annotation = [[[LocationAnnotation alloc] initWithCoordinate:newLoc.coordinate] autorelease];
    [locationView setAnnotation:annotation];
    [map setCenterCoordinate:newLoc.coordinate animated:YES];
}

Dann rufe ich diesen Kerl in einer Schleife zwischen allen meinen Scheitel mit einer leichten Verzögerung. Funktioniert ganz qell.

Beantwortet am 08/11/2009 um 01:48
quelle vom benutzer

stimmen
1

Auf keinen Fall in iPhone-Simulator zu simulieren. Sie müssen es auf das Gerät laden und bewegen.

Beantwortet am 08/11/2009 um 00:01
quelle vom benutzer

stimmen
0

Ich fand ein besserer Weg zu Unterklasse sein würde MKUserLocation:

class SimulatedUserLocation: MKUserLocation {
    private var simulatedCoordinate = CLLocationCoordinate2D(latitude: 39, longitude: -76)
    override dynamic var coordinate: CLLocationCoordinate2D {
        get {
            return simulatedCoordinate
        }
        set {
            simulatedCoordinate = newValue
        }
    }
}

Dann fügen Sie es als Anmerkung mapView.addAnnotation(SimulatedUserLocation()). (Sie können auch die reale Lage ausblenden möchten zuerst mapView.showsUserLocation = false)

iOS würde die Anmerkung genau wie der reale Benutzer-Standort machen.

dynamic wird auf dem Grundstück verwendet, so koordiniert, dass eine Änderung auslöst KVO und bewegt ihn auf der Karte.

Beantwortet am 19/12/2016 um 18:36
quelle vom benutzer

stimmen
0

Um benötigen Sie zu simulieren Fahr 2 Grundfunktionen zu etablieren:

  1. Lesen CLLocations aus einem Archiv (die Sie würde melden Sie sich während der Fahrt Test mit einem Gerät). Im Idealfall werden Sie diese an den Stellen auf den Zeitstempel basieren tun, also genau die gleiche Stelle Updates reproduzieren, die während des Drive-Tests empfangen wurden.

  2. Aktualisieren der Position Ihres MKAnnotationView die auf der Karte auf der Grundlage der von Protokoll lesen Standorten.

Für Teil 1, werfen Sie einen Blick auf CLLocationDispatch , eine praktische Klasse , die Archivierung / Aufheben der Archivierung von CLLocations bietet und leitet sie an einen oder mehrere Zuhörer (mit CLLocationManagerDelegate - Protokoll).

Für Teil 2, werfen Sie einen Blick auf Moving-MKAnnotationView .

Beantwortet am 18/05/2011 um 15:27
quelle vom benutzer

stimmen
0

Sie können auch überprüfen iSimulate , die nur einige Merkmale der Lage sein , behaupten zu simulieren auf dem iPhone im iPhone - Simulator zur Verfügung Corelocation umfassen. Ich habe nicht versucht , mich so die Leistung kann variieren.

Beantwortet am 08/11/2009 um 00:57
quelle vom benutzer

stimmen
0

Ich bin kein iPhone Entwickler-Experte, aber wie funktioniert die Kartenansicht die Koordinaten erhalten? Wenn es durch eine Funktion ist, die die Corelocation-API-Aufrufe, könnten Sie möglicherweise schreiben Sie einfach eine Funktion, die zufällig Wert Längen- und Breitengrad in einem bestimmten Zeitintervall erzeugt und haben Ihre Kartenansicht die Koordinaten von dort stattdessen ziehen? Nur ein Gedanke.

Beantwortet am 08/11/2009 um 00:09
quelle vom benutzer

stimmen
-1

Die Antwort ist nein. Dann, wie über eine Abstraktionsschicht zwischen Ihrem Code und MKMapKit hinzufügen? Sie können xUnit Tests für Ihr Ziel tun.

Beantwortet am 09/11/2009 um 03:05
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more