iphone - ios Mapkit : fix annotation on middle of map

标签 iphone ios mapkit

<分区>

我是 ios 开发的新手。我必须创建一个应用程序,要求是将注释点固定在 map 中间,然后拖动 map 而不是注释来获取位置。拖动 map 后,必须获取固定注释下的位置。涵盖此主题的示例代码或任何链接都会有所帮助。

最佳答案

基于UIView创建一个类,我们称它为CenterAnnotationView。将您的图像添加到 View 的中心以进行注释。

MKMapView创建一个UIViewController,我们称它为MapViewController

接下来,将 CenterAnnotationView 添加到 MapViewController 中,使其覆盖整个 MKMapView。在 CenterAnnotationView 中,添加这段代码

- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
    return NO;
}

这将允许触摸传递到 UIMapView

MapViewController中添加 map 委托(delegate)并实现

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
}

这将在 map 被拖动时调用。在此回调中,找到中心点,该中心点应位于注释图像的正下方。

关于iphone - ios Mapkit : fix annotation on middle of map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17299424/

上一篇:ios - 执行获取请求时应用程序卡住

下一篇:ios - 如果父 View 有一个 subview 作为保留属性,如果从其父 View 中删除,它会保留吗?

相关文章:

iphone - 大文本在 UIScrollView 内部的 UITextView 中被截断

iphone - 从 nib 加载自定义 UIView,nib 中包含的所有 subview 都是零?

ios - Swift - 推送通知 JSON 格式

iOS map 套件 : how to prevent MKMapView setRegion from changing region?

iphone - 创建笔记 View 的最佳方法

iphone - 复制 NSMutableArray 时出现问题

iphone - 如何在 UITableView 中显示多列?

ios - 在模拟器上运行时,WatchConnectivity 未在 iOS 端激活

objective-c - 自定义 MKAnnotation 总是说它是一个 MKUserLocation 类

ios - 如何更快地在 MKMapSnapshotter 上绘图?