拖动时获取MKAnnotation的坐标

2024-05-18

我正在根据用户添加的注释的位置创建一条路径(MKPolyline)。我想允许用户通过拖动引脚来更改路径。我目前可以做到这一点,但 MKPolyline 不会更新,直到引脚被放下。

我实施了- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState为了MKAnnotationViewDragStateDragging但它只是提醒我用户正在拖动图钉,而不通知新位置。

每次更改时,如何获取正在拖动的注释的当前位置?我希望在拖动时收到有关位置任何变化的通知,以便能够更新 MKPolyline 以跟随图钉移动,从而更好地反映路径的变化情况。

有任何想法吗?谢谢!


创建一个子类MKAnnotationView并将该子类用于您正在拖动的注释。在该子类中:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    CLLocationCoordinate2D location = [_mapView convertPoint:self.center toCoordinateFromView:self.superview];
}

不幸的是,与 MKAnnotationView 关联的 MKAnnotation 对象在 MKAnnotationView 被删除之前不会更新其坐标。因此,您必须使用 MKAnnotationView 本身的位置,并将其转换为有效的坐标。

这还需要引用已添加注释的 MKMapView (_mapView此处),您可以在创建视图时将其传递给视图。

如果您已设置centerOffset注释视图的属性,您还需要考虑到:

CLLocationCoordinate2D location = [_mapView convertPoint:CGPointMake(self.center.x - self.centerOffset.x, self.center.y - self.centerOffset.y) toCoordinateFromView:self.superview];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

拖动时获取MKAnnotation的坐标 的相关文章

  • 使用 Python 查找 Mac OS X 中的当前活动窗口

    有没有办法使用 Python 在 Mac OS X 上查找给定时间当前活动窗口的应用程序名称 这应该有效 usr bin python from AppKit import NSWorkspace activeAppName NSWorks
  • 声音在模拟器中工作,而不是在真实 iPhone 中工作

    有几短音效播放的样本在模拟器中很好 但在真正的 iPhone 中根本不行3GS 以下是 Apple SysSound 示例中的代码 CFBundleRef mb CFBundleGetMainBundle CFURLRef soundFil
  • 设置使用 iPhone 相机拍摄的图像的类型

    如果我们使用 iPhone 相机拍摄照片 图像将默认以 JPEG 格式保存 我想以其他格式 例如 PNG 保存捕获的图像 是否可以 当我们从应用程序调用 iPhone 相机时 是否可以通过代码执行此操作 我们可以设置捕获图片后必须保存的图像
  • 如何自定义 NSSlider

    我正在尝试在 Cocoa 中实现一个具有 5 个值的自定义滑块 查看我的演示项目 可以在此处下载 http s000 tinyupload com index php file id 07311576247413689572 http s0
  • 如何在 Monotouch 中对 UIImageView 进行运动模糊效果?

    在 MonoTouch 中进行实时运动模糊的方法是什么 当滚动惯性图片库时 我需要在 UIImageView 上应用运动模糊效果 以强度和方向作为参数 就像在 Photoshop 中一样 我在 CocoaTouch 或 CoreAnimat
  • 使用 Mono Touch 的 Iphone 键盘顶部带有完成按钮的工具栏?

    我需要使用 UIkeyboard type 数字键盘在工具栏上添加完成按钮 以便在单击完成按钮时退出键盘 我使用了输入附件视图 但它也添加到普通键盘 我需要在我有数字键盘的地方添加这个 例如 我有一个文本字段 它只需要我需要的数字 除了我不
  • 在 Objective C 中使用下划线作为属性名称前缀 [重复]

    这个问题在这里已经有答案了 我以前避免在变量名中使用下划线 这可能是我大学 Java 时代的遗留下来的 因此 当我在 Objective C 中定义属性时 我自然会这样做 In the header interface Whatever N
  • iphone:通过代码获取目标设置中的用户定义变量?

    我的项目有多个目标 每个目标都有自己的目标Class用于设置内容的文件 我想存储它Class目标设置中的名称 Info plist或目标的建筑物设置 这样我就可以根据此设置定义每个目标中需要使用哪个类 根据这个问题 https stacko
  • 为什么我们在 @synchronized 块中传递 self ?

    我猜 synchronized 块不依赖于对象 而是依赖于线程 对吗 既然如此 我们为什么要传递 self 呢 synchronized是语言提供的用于创建同步作用域的构造 因为使用简单的全局共享互斥锁效率非常低 因此序列化每个单独的互斥锁
  • 从 Plist 中存储和检索 [重复]

    这个问题在这里已经有答案了 可能的重复 iOS 在 plist 文件中存储两个 NSMutableArray https stackoverflow com questions 6070568 ios store two nsmutable
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • iOS:从非图像数据生成图像(Godus,如风景)

    所以看到图像后Godus http www kickstarter com projects 22cans project godus我想知道如何生成简单的 非交互式的 2D 图像 with 不同高度或层数的颜色不同就像下面的图片一样 我只
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 自动布局和ios5

    我正在使用故事板 我已经使用了自动布局 但它不适用于 ios5 并且会崩溃 所以我想删除它 但是 如何取消选中自动布局 但如果我取消选中自动布局 我如何为 iPhone 4 和 5 设置屏幕 Regards 您可以在 IB 中禁用自动布局
  • 如何从 NSString 中删除十六进制字符

    我面临一个与字符串中的某些十六进制值相关的问题 我需要从字符串中删除十六进制字符 The problem is when i print object it prints as BLANK line And in debug mode it
  • 使用反射的属性类型或类

    我想知道是否可以确定对象属性的类或原始类型 获取所有属性名称和值非常容易 所以答案 https stackoverflow com questions 2299841 objective c introspection reflection
  • 从 NSError 返回 NSString

    我正在使用NSURLRequest我的 iPhone 应用程序中的类 调用它的方法返回一个NSString这对于连接正常时非常有用 但问题是我需要将 NSError 转换为 NSString 以便我可以将其返回或运行一些if 对此的声明 有
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • Monotouch 和本机 iOS 代码

    是否可以将使用 monotouch 编译的 C 库与单个应用程序中的 Objective C 前端链接起来 或者该应用程序必须是全部还是全无 这是可能的 但您不会从 MonoTouch 工具获得任何帮助 并且您无法摆脱这样一个事实 您仍然需
  • NSMenuItem、自定义视图和 mouseUp 的奇怪问题:

    我在这里遇到了一个非常非常奇怪的 NSMenu 问题 我使用的大约一半的 NSMenuItems 通过 NSMenuItem 上的 setView 方法具有自定义视图 在此自定义视图中 我实现了 mouseUp 来捕获用户单击菜单项的时间

随机推荐