montrant l'emplacement actuel, avec un autre emplacement dans iphone

voix
2

chaque fois que nous charger un MapView, il montre automaticallay le droit de l'emplacement de l'utilisateur actuel. Dans mon cas, je montre un autre emplacement sur la carte, de sorte que la carte charge l'emplacement actuel et zoomé à l'endroit que j'ai donné .. mais, le point de l'emplacement actuel ne montrait pas (le bleu qui vient automaticay ..). je donne mapView.showCurrentLocation = TRUE; mais son ne pas montrer. alors pouvait-on dit la façon dont il fonctionne et il doit dire la marque de l'emplacement actuel, puis zoomée au point que j'ai donné. Merci

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation {
    static NSString *defaultPinID = @CameraAnnotation;
    MKPinAnnotationView *retval = nil;
    static int postag=1;

    (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
    if(annotation=MapView.userLocation)
    {
        return nil;
    }
    // If we have to, create a new view
    else    if (retval == nil)
    {
        retval = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];

        UIButton *myDetailButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        myDetailButton.frame = CGRectMake(0, 0, 50, 23);
        myDetailButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
        myDetailButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
        myDetailButton.tag=postag;
        postag++;
        [myDetailButton addTarget:self action:@selector(showLinks:) forControlEvents:UIControlEventTouchUpInside];
        retval.rightCalloutAccessoryView = myDetailButton;
        [retval setPinColor:MKPinAnnotationColorRed];
        retval.animatesDrop = YES;
        retval.canShowCallout = YES;
    }

    return retval;
}
Créé 07/05/2010 à 09:54
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
2

Dans simulateur l'emplacement actuel par défaut est Cupertino.This est ce que vous voyez, il fonctionnera correctement dans l'appareil.

Plus sur vous devez utiliser CLLocationManager pour obtenir l'emplacement actuel.

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
{
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.delegate = self; // Tells the location manager to send updates to this object
[locationManager startUpdatingLocation];
}

Pour changer la couleur de la broche

MKPinAnnotationView   *pin=[[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"pin"]autorelease];

[pin setPinColor:MKPinAnnotationColorRed];

Bonne chance.

Créé 07/05/2010 à 10:03
source utilisateur

voix
1

jetez un oeil à la réponse à cette question pour régler le niveau de zoom MkMapView pour englober toutes les MKAnnotations qui s'y rattachent

Créé 07/05/2010 à 12:38
source utilisateur

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