2015-08-31 2 views
0

Я использую несколько видов аннотаций с разными изображениями в моем представлении карты. Изображения загружаются правильно в тренажере, но не в device.i я не в состоянии выяснить причину этого issue..following мой кодвид на карту пользовательские изображения аннотаций изображения не загружаются должным образом в устройстве

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation 
{ 
    if ([annotation isKindOfClass:[MKUserLocation class]]) 
     return nil; 

    static NSString * const annotationIdentifier = @"CustomAnnotation"; 

    annotationView1 = [mapUrCommView dequeueReusableAnnotationViewWithIdentifier:annotationIdentifier]; 

    MKAnnotationView *annotationView2 = nil; 
    if (annotationView1) 
    { 
     annotationView1.annotation = annotation; 
     if(mapUrCommView.userInteractionEnabled) 
      annotationView1.image = [UIImage imageNamed:@"[email protected]"];// map-pin-black.png 
     else 
     { 
      //if(annotationView1.annotation == self.currentAnnotation|| annotation == self.previousAnnotation) 
      NSLog(@"in annotation view 1"); 
      annotationView1.image = [UIImage imageNamed:@"[email protected]"];// Bluedot.png 
     } 

     annotationView1.tag=111; 
     return annotationView1; 
    } 
    else 
    { 
     annotationView2 = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:annotationIdentifier]; 
     annotationView2.image = [UIImage imageNamed:@"[email protected]"];// map-pin-black.png 

     annotationView2.canShowCallout = YES; 
     return annotationView2; 
    } 

    return nil; 

} 

здесь я рисую физические границы для места в моем приложении .. .so аннотация 1 представляет собой вид, который я рисую в настоящее время. & аннотация аннотации 2 будет иметь все аннотации пользовательских изображений вида (все аннотации будут иметь одинаковые изображения), которые я уже нарисовал в прошлом. Обычные аннотированные изображения загружаются штрафом в симуляторе, но не в устройстве

ответ

0

Это работало для использования пользовательского класса для аннотации. Пожалуйста, обратитесь к this: Apple documentation.

1.) Выделяет MapAnnotation

mapAnnotation = [[MapAnnotation alloc]init]; 

2.) Установите координаты для вашей широты и долго

CLLocationCoordinate2D coord = CLLocationCoordinate2DMake([[NBCGPSLocation sharedInstance].gpsLatitude doubleValue], [[NBCGPSLocation sharedInstance].gpsLongitude doubleValue]); 
    [mapAnnotation setCoordinate:coord]; 
    [self.mapSDKView addAnnotation:mapAnnotation]; 

3.) Теперь этот метод делегата позвонит, как только вы идете, что широта и долго местоположения

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation { 

    if ([annotation isKindOfClass:[CustomAnnotation class]]) 
    { 
     if(!customAnnotationView) 
      customAnnotationView = [[MKAnnotationView alloc]init]; 
     customAnnotationView.image = [UIImage imageNamed:@"locationCustom"]; 

     customAnnotationView.annotation = annotation; 

     return customAnnotationView; 
    } 
    else 
    { 
     if(!annotationView) 
      annotationView = [[MKAnnotationView alloc]init]; 
     annotationView.image = [UIImage imageNamed:@"locationIcon"]; 
     annotationView.annotation = annotation; 
     return annotationView; 
    } 
} 
+0

, используя этот метод, пользовательский вид аннотаций изображений не загружается даже в симулятор ... –

+0

@ravin dersingh Добавьте изображение в папку Asset, затем используйте это имя в коде. –

+0

Как это поможет при загрузке изображений? –

Смежные вопросы