показывающий текущее местоположение, а также другое место в Iphone

голоса
2

всякий раз, когда мы загружаем MapView, он automaticallay показывает текущее местоположение пользователя права. В моем случае я хочу показать другое место на карте, так что карта загружает текущее местоположение и увеличенное на место я дал .. но, текущая точка расположения не показывала (синие один, который приходит automaticay ..). я дал mapView.showCurrentLocation = TRUE; но его не показывает. так может любой один говорит так, как это работает, и он должен сказать текущую метку местоположения, а затем масштабируется до точки я дал. благодаря

- (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;
}
Задан 07/05/2010 в 09:54
источник пользователем
На других языках...                            


2 ответов

голоса
2

В тренажере текущее местоположение по умолчанию Cupertino.This является то, что вы видите, он будет работать должным образом в устройстве.

Более того, вы должны использовать CLLocationManager, чтобы получить текущее местоположение.

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

Для того, чтобы изменить цвет контактного

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

[pin setPinColor:MKPinAnnotationColorRed];

Всего наилучшего.

Ответил 07/05/2010 в 10:03
источник пользователем

голоса
1

взглянуть на ответ на этот вопрос , чтобы установить уровень MkMapView масштабирования , чтобы охватить все MKAnnotations прикрепленные к нему

Ответил 07/05/2010 в 12:38
источник пользователем

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