Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios4 如何为MKOverlay区域显示详图索引?_Ios4_Mkmapview_Overlay_Callouts - Fatal编程技术网

Ios4 如何为MKOverlay区域显示详图索引?

Ios4 如何为MKOverlay区域显示详图索引?,ios4,mkmapview,overlay,callouts,Ios4,Mkmapview,Overlay,Callouts,我使用了手势识别器和给定覆盖的boundingRect来确定用户何时点击它。但是,我现在希望在用户点击的覆盖区域上显示一个标注,就像注释一样。为了实现这一点,我必须将覆盖创建为注释吗?谢谢。如果您愿意,重叠也是注释对象 从: MKOverlay协议符合MKAnnotation协议。因此,所有覆盖对象也是注释对象,可以在代码中视为一个或两个对象。如果您选择将覆盖对象视为两者,则您负责在两个位置管理该对象。如果要同时显示其覆盖视图和注释视图,则必须在应用程序委托中实现mapView:viewForO

我使用了手势识别器和给定覆盖的boundingRect来确定用户何时点击它。但是,我现在希望在用户点击的覆盖区域上显示一个标注,就像注释一样。为了实现这一点,我必须将覆盖创建为注释吗?谢谢。

如果您愿意,重叠也是注释对象

从:

MKOverlay协议符合MKAnnotation协议。因此,所有覆盖对象也是注释对象,可以在代码中视为一个或两个对象。如果您选择将覆盖对象视为两者,则您负责在两个位置管理该对象。如果要同时显示其覆盖视图和注释视图,则必须在应用程序委托中实现mapView:viewForOverlay:和mapView:viewForAnnotation:方法。这还意味着您必须从地图的覆盖和注释阵列中添加和删除对象


谢谢你的提示,但是我对如何创建一个覆盖图作为注释感到迷茫。你能提供这方面的示例代码吗?MKAnnotationView的子类通常将UIImage作为变量,在initWithAnnotation:reuseIdentifier:method中,无法从多边形的宽度和高度(从传入的注释)动态指定帧的宽度和高度,是吗?谢谢。MapCallout示例代码可能会有所帮助?它显示带有自定义标注的MKAnnotation-不适用于我,我将MKPolyLine视为MKAnnotation,但失败。在我将Annotation:添加到mapview之后,不会触发回调-(MKAnnotationView*)mapview:(MKMapView*)mapview viewForAnnotation:(id)Annotations是委托的有效引用,因为
mapview:viewForAnnotation
是委托协议中的一个方法()您能用一些具体的例子详细说明答案吗?我无法在覆盖层顶部显示详图索引。