zobrazující aktuální polohu, spolu s dalším místě v iPhone

hlasů
2

kdykoli se nám načíst MapView, že automaticallay zobrazuje aktuální polohu přímo uživatel. V mém případě Jsem ukazující další místo na mapě, takže mapa načte aktuální polohu a přibližovat k místu jsem dal .. ale, aktuální poloha bodu se nezobrazuje (na modrou, která přichází automaticay ..). i dal mapView.showCurrentLocation = TRUE; ale není zobrazeno. tak mohl někdo řekne, jak to funguje, a měl by říci, aktuální umístění značku a pak se zvětšovat do té míry, dal jsem. dík

- (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;
}
Položena 07/05/2010 v 09:54
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

V simulátoru výchozí aktuální poloha Cupertino.This je to, co vidíte, to bude fungovat správně v přístroji.

Více než byste měli používat CLLocationManager získat aktuální polohu.

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

Chcete-li změnit barvu pin

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

[pin setPinColor:MKPinAnnotationColorRed];

Vše nejlepší.

Odpovězeno 07/05/2010 v 10:03
zdroj uživatelem

hlasů
1

podívejte se na odpověď na tuto otázku pro nastavení úrovně MkMapView zoomu, aby zahrnovala všechny MKAnnotations k němu připojené

Odpovězeno 07/05/2010 v 12:38
zdroj uživatelem

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