pokazujący aktualną lokalizację, wraz z innej lokalizacji w iPhone

głosy
2

ilekroć załadować MapView, to automaticallay pokazuje aktualny prawo o lokalizacji użytkownika. W moim przypadku jestem pokazując inną lokalizację na mapie tak, że mapa ładuje bieżącą lokalizację i powiększony do lokalizacji dałem .. ale obecny punkt lokalizacja nie pokazywał (niebieski jeden, który przychodzi automaticay ..). i dały mapView.showCurrentLocation = PRAWDA; ale jej nie widać. więc może ktoś powie sposób to działa i należy powiedzieć aktualny znacznik lokalizacji, a następnie powiększony do punktu dałem. Dzięki

- (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;
}
Utwórz 07/05/2010 o 09:54
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
2

W symulatorze domyślny aktualna lokalizacja jest Cupertino.This jest to, co widzisz, to będzie działać prawidłowo w urządzeniu.

Ponad to należy użyć CLLocationManager uzyskać aktualną lokalizację.

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

Aby zmienić kolor pin

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

[pin setPinColor:MKPinAnnotationColorRed];

Wszystkiego najlepszego.

Odpowiedział 07/05/2010 o 10:03
źródło użytkownik

głosy
1

zapoznać się z odpowiedzią na to pytanie, aby ustawić poziom MkMapView powiększenia, aby objąć wszystkie MKAnnotations z nim związane

Odpowiedział 07/05/2010 o 12:38
źródło użytkownik

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