/ / Essayer de montrer la position de l’utilisateur sur Mapkit, la chose la plus ennuyeuse de tous les temps Quelqu'un donne un coup de main? - iphone, objectif-c, sdk, mapkit, mkannotationview

Essayer de montrer l'emplacement de l'utilisateur sur Mapkit, la chose la plus agaçante jamais. Quelqu'un donne un coup de main? - iphone, objective-c, sdk, mapkit, mkannotationview

Je suis ce tutoriel (http://icodeblog.com/2009/12/21/introduction-to-mapkit-in-iphone-os-3-0/) lors de l'ajout de mapkit et d'annotations à une application. Cependant, j’ai de sérieuses difficultés avec l’emplacement utilisateur. Je suis nouveau pour xcode, donc je ne sais pas trop quoi faire. J'ai essayé l'option de Tony:

step one: add the CoreLocation framework to the project.

Step two: add this function to the iCodeMapViewController.m:


- (void)setCurrentLocation:(CLLocation *)location {
MKCoordinateRegion region = {{0.0f, 0.0f}, {0.0f, 0.0f}};
region.center = location.coordinate;
region.span.longitudeDelta = 0.15f;
region.span.latitudeDelta = 0.15f;
[self.mapView setRegion:region animated:YES];
}

step three: add this code to the ViewForAnnotation Method:


if (annotation != mapView.userLocation) {
//the rest of the ViewForAnnotation code goes here
}else{
CLLocation *location = [[CLLocation alloc]
initWithLatitude:annotation.coordinate.latitude
longitude:annotation.coordinate.longitude];
[self setCurrentLocation:location];
}

Mais quand je construis, ça ne me plaît pas.

J'ai aussi essayé cette option:

    -(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )annotation
{
if ([annotation isKindOfClass:MKUserLocation.class]) return nil;
//rest of code
}

Le point bleu indique mes annotations personnalisées, mais l'application se bloque lorsque j'essaie de faire défiler le tableau. Le débogueur n'apporte aucune aide mais s'arrête sur cette instruction.

Puis-je avoir une aide s'il vous plait? Avec des exemples de code aussi? Je pense que la réponse à ce message pourrait être utile à un certain nombre de personnes également aux prises avec le kit de cartes.

À votre santé

Réponses:

1 pour la réponse № 1

J'ai eu le même problème, mais j'ai réussi à le résoudre. Dans cellForRowAtIndexPath, j'ai fait ceci:


NSMutableArray *annotations = [[NSMutableArray alloc] init];
if(indexPath.section == 0)
{
for(MinuAsukohad *annotation in [mapView annotations])
{
if(![annotation isKindOfClass:[MKUserLocation class]])
{
if([annotation annotationType] == MinuAsukohadTypeInterest)
{
[annotations addObject:annotation];
}
}
}
cell.textLabel.text = [[annotations objectAtIndex:indexPath.row] title];
}

Il suffit de le répéter pour toutes les sections.


0 pour la réponse № 2

On dirait que vous essayez d'inclure votre emplacement actuel dans l'une des cellules du tableau ... regardez votre console et donnez-nous la sortie lorsque l'incident se produit.