Jak symulować użytkownika jazdy trasy w MKMapView?

głosy
0

Muszę symulować jak moja aplikacja będzie wyglądać, gdy użytkownik jest jeżdżąc na demo. Mam MKMapView, jak mogę symulować wygląd użytkownik jazdy wokół którego będzie korzystać z funkcji map.userLocation, co oczywiście nie będzie dostępna w wersji demo.

Dzięki!

Utwórz 07/11/2009 o 23:47
źródło użytkownik
W innych językach...                            


7 odpowiedzi

głosy
1

Więc mam coś się dzieje, po prostu zrobił to w istocie

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

Potem zadzwoń do tego faceta w pętli pomiędzy wszystkich moich wierzchołków z lekkim opóźnieniem. Działa całkiem qell.

Odpowiedział 08/11/2009 o 01:48
źródło użytkownik

głosy
1

Nie da się symulować w iPhone symulatora. Musisz załadować go na swoim urządzeniu i poruszać.

Odpowiedział 08/11/2009 o 00:01
źródło użytkownik

głosy
0

Znalazłem lepszy sposób byłoby podklasy MKUserLocation:

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

Następnie dodać go jako adnotacji mapView.addAnnotation(SimulatedUserLocation()). (Można też chcą, aby ukryć prawdziwą lokalizację pierwszy mapView.showsUserLocation = false)

iOS uczyniłaby adnotacji dokładnie jak prawdziwy lokalizacji użytkownika.

dynamic jest stosowany na nieruchomości tak, że zmiana współrzędnych wyzwala KVO i przenosi go na mapie.

Odpowiedział 19/12/2016 o 18:36
źródło użytkownik

głosy
0

W celu symulowania jazdy trzeba ustalić 2 podstawowe funkcje:

  1. Czytając CLLocations z archiwum (które chcesz zalogować podczas testu napędu z urządzeniem). Najlepiej będzie to zrobić na podstawie znaczników czasu w miejscach, tj odtwarzając te same aktualizacje lokalizacji, które zostały otrzymane podczas testu napędu.

  2. Aktualizacja pozycję MKAnnotationView jest na mapie na podstawie lokalizacji odczytanych z dziennika.

Dla części 1, przyjrzeć CLLocationDispatch , poręcznej klasie która zapewnia archiwizacji / dearchiwizacja z CLLocations i wysyła je do jednego lub większej liczby słuchaczy (z wykorzystaniem protokołu CLLocationManagerDelegate).

Dla części 2, spojrzeć na ruchomą MKAnnotationView .

Odpowiedział 18/05/2011 o 15:27
źródło użytkownik

głosy
0

Można również sprawdzić iSimulate który twierdzi, że jest w stanie symulować kilka funkcji dostępnych tylko na iPhone w symulatorze iPhone obejmują CoreLocation. Nie próbowałem ten sam więc może się wahać.

Odpowiedział 08/11/2009 o 00:57
źródło użytkownik

głosy
0

Nie jestem ekspertem iPhone dev, ale w jaki sposób mapa otrzymać współrzędne? Czy to poprzez funkcję, która wywołuje API CoreLocation, można ewentualnie po prostu napisać funkcję, która losowo generuje długości i szerokości wartości w określonym przedziale czasu i mieć swój pogląd na mapie wyciągnąć współrzędne stamtąd zamiast? Tylko myśl.

Odpowiedział 08/11/2009 o 00:09
źródło użytkownik

głosy
-1

Odpowiedź brzmi nie. Potem, jak o dodanie warstwy abstrakcji pomiędzy kodzie i MKMapKit? Można zrobić testy xUnit do celu.

Odpowiedział 09/11/2009 o 03:05
źródło użytkownik

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