Iphone MKAnnotation:单击MKAnnotation info视图中的文本应调用一个号码

Iphone MKAnnotation:单击MKAnnotation info视图中的文本应调用一个号码,iphone,ios,mkmapview,Iphone,Ios,Mkmapview,我正在使用MKMapview在本机iPhone应用程序中显示地图,并在地图视图中添加了两个标记。单击注释标记时,我希望显示一个电话号码,单击该电话号码应拨打该号码 我如何才能做到这一点?其工作方式是:您提供一个“tel:”URL供您的应用程序打开。这会调用电话应用程序,它会自动开始拨打提供的号码。要通过单击注释标注来执行此操作,您需要在MKMapViewDelegate中提供mapView:annotationView:calloutAccessoryControlTapped:方法 例如,如果

我正在使用MKMapview在本机iPhone应用程序中显示地图,并在地图视图中添加了两个标记。单击注释标记时,我希望显示一个电话号码,单击该电话号码应拨打该号码


我如何才能做到这一点?

其工作方式是:您提供一个“tel:”URL供您的应用程序打开。这会调用电话应用程序,它会自动开始拨打提供的号码。要通过单击注释标注来执行此操作,您需要在
MKMapViewDelegate
中提供
mapView:annotationView:calloutAccessoryControlTapped:
方法

例如,如果您要拨打的电话是批注的标题,则您可以这样做:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
    NSString *phoneNo = view.annotation.title;
    NSString *telString = [NSString stringWithFormat:@"tel:%@", phoneNo];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];
}

实际上,您还需要检查当前设备是否确实是手机(即不是iPod touch或iPad)。在启动手机应用程序之前,最好让用户知道他们将要打电话。例如,向他们展示一张行动表,让他们决定是打电话还是取消。

这样做的方式是:你提供一个“电话:”URL,让你的应用程序打开。这会调用电话应用程序,它会自动开始拨打提供的号码。要通过单击注释标注来执行此操作,您需要在
MKMapViewDelegate
中提供
mapView:annotationView:calloutAccessoryControlTapped:
方法

例如,如果您要拨打的电话是批注的标题,则您可以这样做:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control {
    NSString *phoneNo = view.annotation.title;
    NSString *telString = [NSString stringWithFormat:@"tel:%@", phoneNo];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];
}

实际上,您还需要检查当前设备是否确实是手机(即不是iPod touch或iPad)。在启动手机应用程序之前,最好让用户知道他们将要打电话。例如,向他们展示一张行动表,让他们决定是打电话还是取消。

在此之前,您已经问了5个问题,但尚未接受他们的任何回答。除非您为自己的问题标记了已接受的答案,否则您不太可能得到答案。在此之前,您已经问了5个问题,但尚未接受他们的任何答案。你不可能得到答案,除非你为你的问题标记出接受的答案。