Comment simuler un utilisateur de conduire un itinéraire dans un MKMapView?

voix
0

Je dois simuler la façon dont mon application regardera quand un utilisateur conduit autour d'une démo. J'ai un MKMapView, comment puis-je simuler l'apparence d'un utilisateur autour de la conduite qui utilisera la fonctionnalité map.userLocation, qui évidemment ne pas être disponible dans la démo.

Merci!

Créé 07/11/2009 à 23:47
source utilisateur
Dans d'autres langues...                            


7 réponses

voix
1

Eh bien, je suis quelque chose, je viens de faire essentiellement ce

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

Alors j'appelle ce type dans une boucle entre tous mes sommets avec un léger retard. Fonctionne très qell.

Créé 08/11/2009 à 01:48
source utilisateur

voix
1

Pas moyen de simuler dans le simulateur iPhone. Vous aurez besoin de le charger sur votre appareil et de se déplacer.

Créé 08/11/2009 à 00:01
source utilisateur

voix
0

J'ai trouvé une meilleure façon serait de sous - classe MKUserLocation:

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

Ajoutez ensuite comme une annotation mapView.addAnnotation(SimulatedUserLocation()). (Vous pouvez également cacher l'emplacement réel premier mapView.showsUserLocation = false)

iOS rendrait l'annotation exactement comme l'emplacement réel de l'utilisateur.

dynamic est utilisé sur la propriété afin que le changement de coordonnées déclenche KVO et se déplace sur la carte.

Créé 19/12/2016 à 18:36
source utilisateur

voix
0

Afin de simuler la conduite que vous aurez besoin d'établir 2 fonctionnalités de base:

  1. Lecture CLLocations d'une archive (que vous souhaitez ouvrir une session au cours du test d'entraînement avec un dispositif). Idéalement, vous allez le faire sur la base des horodateurs sur les lieux, reproduisant par exemple les mises à jour même emplacement exact qui ont été reçus pendant le test d'entraînement.

  2. Mise à jour de la position de votre MKAnnotationView sur la carte en fonction des emplacements lus à partir de journal.

Pour la partie 1, jetez un oeil à CLLocationDispatch , une classe pratique qui fournit l' archivage / désarchivage de CLLocations et les envoie à un ou plusieurs auditeurs (protocole CLLocationManagerDelegate).

Pour la partie 2, jetez un oeil à Moving-MKAnnotationView .

Créé 18/05/2011 à 15:27
source utilisateur

voix
0

Vous pouvez également consulter iSimulate qui prétend être capable de simuler plusieurs fonctionnalités disponibles uniquement sur l'iPhone dans le simulateur iPhone comprennent CoreLocation. Je ne l' ai pas essayé moi - même si votre kilométrage peut varier.

Créé 08/11/2009 à 00:57
source utilisateur

voix
0

Je ne suis pas un expert en dev iPhone, mais comment l'affichage de la carte ne reçoit pas les coordonnées? Si ce soit par une fonction qui appelle l'API CoreLocation, pourriez-vous peut-être juste écrire une fonction qui génère aléatoirement des valeurs de longitude et de latitude à un certain intervalle de temps et avoir votre point de vue sur la carte tirer les coordonnées de là au lieu? Juste une pensée.

Créé 08/11/2009 à 00:09
source utilisateur

voix
-1

La réponse est non. Ensuite, que diriez-vous d'ajouter une couche d'abstraction entre votre code et MKMapKit? Vous pouvez faire des tests de xUnit pour votre objectif.

Créé 09/11/2009 à 03:05
source utilisateur

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