iOS MapView добавляет MKPointAnnotation, координаты которого (0, 0) не отображаются - PullRequest
0 голосов
/ 14 февраля 2019

Я пытаюсь добавить аннотации на MKMapView.Аннотации могут отображаться, когда координаты не (0, 0), но когда я устанавливаю координату аннотации как (0, 0), представление аннотации НЕ может отображаться.

На имитаторе и устройстве iPhone XS,только одна аннотация, показывающая (местоположение (10, 0)), местоположение (0, 0) не отображается.

Кажется, что (0, 0) аннотация добавляется внизу карты, а нена западной стороне Африки.

Любое предложение приветствуется.

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    // Add Annotation
    MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
    annotation.coordinate = CLLocationCoordinate2DMake(0, 0);
    [self.mapView addAnnotation:annotation];
    MKPointAnnotation *annotationZero = [[MKPointAnnotation alloc] init];
    annotationZero.coordinate = CLLocationCoordinate2DMake(10, 0);
    [self.mapView addAnnotation:annotationZero];
}

#pragma mark - MKMapViewDelegate
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation {
    if ([annotation isKindOfClass:[MKPointAnnotation class]]) {
        static NSString *reuseIdentifier = @"map_annotation";
        MKAnnotationView *annotationView = [_mapView dequeueReusableAnnotationViewWithIdentifier:reuseIdentifier];
        if (annotationView == nil) {
            annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:reuseIdentifier];
        }
        annotationView.image = [UIImage imageNamed:@"annotation_icon"];
        return annotationView;
    }
    return nil;
}

1 Ответ

0 голосов
/ 14 февраля 2019

Я начал с теста, используя Swift и CLLocationCoordinate2DMake(0,0), который работал нормально, поэтому проблема не связана с устройством, а связана с языком проблема .

Вы не можетеиспользуйте (0,0) в target-c , вместо этого используйте DBL_MIN, что является наименьшим возможным числом, например:

CLLocationCoordinate2DMake(DBL_MIN, DBL_MIN)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...