mostra l'ubicazione corrente, insieme ad un'altra posizione nel iphone

voti
2

ogni volta che si carica un mapview, esso automaticallay mostra la posizione corrente dell'utente destra. Nel mio caso sto mostrando un'altra posizione sulla mappa, in modo tale che la mappa carica la posizione corrente e zoomato alla posizione ho dato .. ma, l'attuale punto di posizione non stavo mostrando (quello blu che viene automaticay ..). ho dato mapView.showCurrentLocation = TRUE; ma la sua non mostrare. così qualcuno potrebbe racconta il modo in cui funziona e si dovrebbe dire il segno di posizione corrente e poi ingrandita al punto ho dato. Grazie

- (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;
}
È pubblicato 07/05/2010 alle 09:54
fonte dall'utente
In altre lingue...                            


2 risposte

voti
2

Nel simulatore la posizione attuale di default è Cupertino.This è ciò che state vedendo, funzionerà correttamente nel dispositivo.

Più sopra si dovrebbe usare CLLocationManager per ottenere la posizione corrente.

- (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];
}

Per modificare il colore pin

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

[pin setPinColor:MKPinAnnotationColorRed];

Ti auguro il meglio.

Risposto il 07/05/2010 a 10:03
fonte dall'utente

voti
1

date un'occhiata alla risposta su questa questione per impostare il livello di zoom MkMapView fino a comprendere tutti i MKAnnotations ad esso

Risposto il 07/05/2010 a 12:38
fonte dall'utente

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