Come per simulare un utente alla guida di un percorso in un MKMapView?

voti
0

Ho bisogno di simulare come la mia applicazione apparirà quando un utente sta guidando in giro per una demo. Ho un MKMapView, come posso simulare l'aspetto di un utente andare in giro, che utilizzerà la funzionalità map.userLocation, che ovviamente non saranno disponibili nella demo.

Grazie!

È pubblicato 07/11/2009 alle 23:47
fonte dall'utente
In altre lingue...                            


7 risposte

voti
1

Beh ho avuto qualcosa da fare, ho appena fatto essenzialmente questo

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

Poi chiamo questo ragazzo in un ciclo tra tutti i miei vertici con un leggero ritardo. Funziona abbastanza qell.

Risposto il 08/11/2009 a 01:48
fonte dall'utente

voti
1

Non c'è modo di simulare in iPhone simulatore. Avrete bisogno di caricarlo sul vostro dispositivo e muoversi.

Risposto il 08/11/2009 a 00:01
fonte dall'utente

voti
0

Ho trovato un modo migliore sarebbe quello di sottoclasse MKUserLocation:

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

Quindi aggiungere come un'annotazione mapView.addAnnotation(SimulatedUserLocation()). (Si potrebbe anche voler nascondere la reale posizione prima mapView.showsUserLocation = false)

iOS renderebbe l'annotazione esattamente come la posizione dell'utente reale.

dynamic è usato sulla proprietà in modo che cambiando coordinare innesca KVO e lo sposta sulla mappa.

Risposto il 19/12/2016 a 18:36
fonte dall'utente

voti
0

Al fine di simulare la guida è necessario stabilire 2 funzionalità di base:

  1. Lettura CLLocations da un archivio (che ci si accede durante il test drive con un dispositivo). Idealmente si esegue questa operazione in base ai timestamp sulle posizioni, vale a dire che riproduce esattamente le stesse aggiornamenti della posizione che sono state ricevute durante il test drive.

  2. Che aggiorna la posizione del vostro MKAnnotationView sulla mappa in base alle posizioni letti dal registro.

Da parte 1, dare un'occhiata a CLLocationDispatch , una classe pratico che fornisce l'archiviazione / estrazione dall'archivio di CLLocations e li invia a una o più ascoltatori (utilizzando il protocollo CLLocationManagerDelegate).

Da parte 2, dare un'occhiata a Moving-MKAnnotationView .

Risposto il 18/05/2011 a 15:27
fonte dall'utente

voti
0

Si potrebbe anche verificare iSimulate che pretende di essere in grado di simulare diverse caratteristiche disponibili solo su iPhone nel simulatore iPhone includono CoreLocation. Non ho provato io stesso modo la vostra situazione potrebbe essere diversa.

Risposto il 08/11/2009 a 00:57
fonte dall'utente

voti
0

Io non sono un esperto dev iPhone, ma come fa la guarda la mappa ricevo le coordinate? Se tramite una funzione che chiama l'API CoreLocation, si potrebbe forse solo scrivere una funzione che genera in modo casuale i valori di longitudine e latitudine in un determinato intervallo di tempo e avere la vostra guarda la mappa tirare le coordinate da lì, invece? Solo un pensiero.

Risposto il 08/11/2009 a 00:09
fonte dall'utente

voti
-1

La risposta è no. Poi, come circa l'aggiunta di un livello di astrazione tra il codice e MKMapKit? Si può fare test xUnit per il vostro obiettivo.

Risposto il 09/11/2009 a 03:05
fonte dall'utente

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