Y at-il un événement qui est déclenché lorsque un emplacement de l'utilisateur se trouve avec succès dans le MapKit iPhone?
Je veux appeler un service Web au moment où l'axe de l'emplacement actuel est tombé sur la carte.
Y at-il un événement qui est déclenché lorsque un emplacement de l'utilisateur se trouve avec succès dans le MapKit iPhone?
Je veux appeler un service Web au moment où l'axe de l'emplacement actuel est tombé sur la carte.
Dans le cas où vous avez le MKMapViewmême affichage l'emplacement de l'utilisateur (soit par programme avec « mapView.showsUserLocation = YES;» ou IB vérifier « montre l' emplacement de l' utilisateur »), la vue de la carte fera appel viewForAnnotationlorsque la broche est tombé. Vous pouvez utiliser:
- (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
if ([annotation isKindOfClass:MKUserLocation.class]) {
// Call web service here
return nil;
}
}
De retour nulle indique la vue carte pour utiliser sa broche par défaut pour l'emplacement de l' utilisateur (point bleu avec animation). Ne pas oublier de mettre votre contrôleur pour être MKMapViewDelegate.
Vous aurez besoin de créer un objet CLLocationManger et appel startUpdatingLocationméthode. Une fois l'emplacement trouvé et mis à jour, la méthode CLLocationMangerDelegate
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
sera appelé automatiquement. Vous pouvez ré-implémenter cette méthode et appelez votre service Web à partir d'ici.