相关疑难解决方法(0)

通缉:如何可靠,一致地选择MKMapView注释

在调用MKMapViewsetCenterCoordinate:animated:方法(没有动画)后,我想调用selectAnnotation:animated :(带动画),以便从新居中的图钉中弹出注释.

现在,我只是观察mapViewDidFinishLoadingMap:然后选择注释.但是,这是有问题的.例如,当不需要加载其他地图数据时,不会调用此方法.在这些情况下,我的注释未被选中.:(

很好.我可以在设置中心坐标后立即调用它.啊,但在这种情况下,它也有可能存在地图数据加载(但还没有完成加载还).我冒险过早地调用它,动画最多也会变得不稳定.

因此,如果我理解正确,这不是知道我的坐标是否可见的问题,因为它可能几乎偏离屏幕距离并且必须加载新的地图数据.相反,它需要知道是否需要加载新的地图数据,然后相应地采取行动.

有关如何实现这一点的任何想法,或者如何在将注释生效的坐标重新定位到地图视图后以其他方式(可靠地)选择注释?

线索赞赏 - 谢谢!

mapkit mkpinannotationview ios

30
推荐指数
3
解决办法
1万
查看次数

如何以编程方式选择地图引脚

我是Maps Concept的新手.

请找一次附图.

在此输入图像描述

当我点击"pin"时,我收到消息说"欣赏你的笑容"或任何文字.....现在我想要...当我们选择表视图时,我需要为该引脚提出该消息(与该针的用户交互)...

我在下面的代码中使用了这个地图和引脚.

    -(void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
customLocation.latitude=[casesobjc.latitude_string doubleValue];
        customLocation.longitude=[casesobjc.longitude_string doubleValue];
 MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:casesobjc.locationForMap_string andCoordinate:customLocation];
[mapView addAnnotation:newAnnotation];
}
- (MKAnnotationView *) mapView: (MKMapView *) mapView viewForAnnotation: (id<MKAnnotation>) annotation {
 MKPinAnnotationView *pin = (MKPinAnnotationView *) [mapView dequeueReusableAnnotationViewWithIdentifier: @"annotation_ID"];
if (pin == nil) {
        pin = [[MKPinAnnotationView alloc] initWithAnnotation: annotation reuseIdentifier: @"annotation_ID"];
    } else {
        pin.annotation = annotation;
    }
    pin.pinColor = MKPinAnnotationColorPurple;
    pin.animatesDrop = YES;
    pin.canShowCallout=YES;
return pin;
}
Run Code Online (Sandbox Code Playgroud)

现在我将如下所示显示所有引脚.

在此输入图像描述

怎么做当我们点击表视图时,我需要显示该引脚的标题,就像我们选择引脚时的显示方式一样?

提前致谢

iphone objective-c map mkmapview ios

22
推荐指数
2
解决办法
1万
查看次数

MKPointAnnotation - 默认显示标题和动画?

在我的viewWillAppear中我有一个视图

MKPointAnnotation *point = [[MKPointAnnotation alloc] init];

[point setCoordinate:(myLocation)];
[point setTitle:@"Here it is!"];

[mapView addAnnotation:point];

[mapView setRegion:adjustedRegion animated:YES]; 
Run Code Online (Sandbox Code Playgroud)

这就像我想要的那样为地图增加了一点.但是我必须点击它才能看到标注.

如何默认显示标注?

我尝试在以下之后添加: [self.mapView selectAnnotation:annotation animated:YES];

但它似乎没有用......我必须使用真正的注释而不是MKPointAnnotation来做到这一点吗?

mapkit ios ios5

6
推荐指数
1
解决办法
7318
查看次数

MKAnnotationView自定义按钮图像

我正在尝试使用自定义图像,MKAnnotationView当我使用以下代码时,我的注释上没有图像.我已经检查了调试,以确保图像正确加载到UIImage.

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


    MKAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:@"String"];
    if(!annotationView) {

        annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"String"];
        UIButton *directionButton = [UIButton buttonWithType:UIButtonTypeCustom];
        UIImage *directionIcon = [UIImage imageNamed:@"IconDirections"];

        [directionButton setImage:directionIcon forState:UIControlStateNormal];

        annotationView.rightCalloutAccessoryView = directionButton;
    }

    annotationView.enabled = YES;
    annotationView.canShowCallout = YES;

    return annotationView;
}
Run Code Online (Sandbox Code Playgroud)

objective-c uibutton mkannotationview ios

3
推荐指数
1
解决办法
2261
查看次数