MKAnnotation - 地图图钉标注在其他地图图钉后面弹出

2024-04-02

我的地图图钉可以非常密集地填充,因此当选择一个图钉时,标注会弹出,但大部分被所有其他地图图钉遮挡 - 我可以将地图图钉放在前面,它有一个代表选定的地图图钉(不是点击标注,选择引脚)。

有什么解决方法的建议吗?


如果您使用自定义注释视图,您可以为选定的属性添加一个观察者,该观察者在选择引脚时充当委托。

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
    MKAnnotation *annview = ...code to either dequeue or create new object...
    [annview addObserver:self forKeyPath:@"selected" options:NSKeyValueObservingOptionNew context:@"selectedmapannotation"];               
    return annview;
}

然后你可以监视所选状态

- (void)observeValueForKeyPath:(NSString *)keyPath
                  ofObject:(id)object
                    change:(NSDictionary *)change
                   context:(void *)context;

Mugunth Kumar 链接的答案也将为您提供所需的结果,只是您在问题中提到了类似委托的功能。

EDIT:

以下是observeValueForKeyPath:ofObject:change:context:方法的内容示例

NSString *action = (NSString*)context;

if([action isEqualToString:@"selectedmapannotation"]){
    BOOL annotationAppeared = [[change valueForKey:@"new"] boolValue];
    MKAnnotationView *ann = (MKAnnotationView *)object;

    if (annotationAppeared) {
        // do something with the annotation when it is selected
    }
    else {
        // do something with the annotation when it is de-selected
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MKAnnotation - 地图图钉标注在其他地图图钉后面弹出 的相关文章

  • CoreGraphics 在 iPhone4 上比在 3G/3GS 上慢

    我有一个用 CoreGraphics 绘制的图表 该图表可以水平滚动 并且当我们滚动它时就会绘制它 问题是 在 3G 3GS 上 滚动的速度和性能良好 但在 iPhone 4 上却比预期慢 我认为这是与 iPhone 4 的高分辨率有关的问
  • 查找 iPhone 上已安装应用程序的列表

    是否可以以编程方式查找我的 iOS 设备上安装的所有应用程序的名称 有没有可用的API 谢谢您的帮助 不可以 由于沙盒环境 iOS 应用程序无法访问其他应用程序的信息
  • 讨论iPhone上的MVC实现

    我在不同的框架上使用 MVC 模式一段时间 例如 swing android gwt 现在 我正在学习iPhone框架 我对MVC的实现感到非常惊讶 我问的问题是关于视图和控制器交互的 首先 这就是我构思 MVC 模式的方式 视图和控制器通
  • iOS 4.3 SDK - 在 3G 设备上调试

    目前有关 iOS 4 3 设备支持的信息还很少 然而 由于 iPhone 3G 设备 以及较旧的 iPod touch 设备 缺乏 4 3 Beta 版 许多人认为这可能是旧设备操作系统升级的终结 即使这个假设现在是错误的 但有一天它也不会
  • 需要澄清 NSAutoreleasePool

    每当我们打电话时autorelease方法 它的对象将是NSAutoreleasePool 当池耗尽时 它会向池中的所有对象发送释放消息 我的问题是 main函数中有一个NSAutoreleasePool 我想知道 当我们调用autorel
  • 我的开发者帐户会员资格到期后,我的应用程序会怎样? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我的 Apple 付费开发者会员资格到期时 我在应用程序商店中现有的应用程序会怎样 我知道我无法添加新应用程序 但我现有的应用程序会保留
  • UIWebView Javascript 窗口到窗口通信

    我正在开发一个 iOS 应用程序 我试图在其中使用UIWebView显示各种网站 最近我完成了将 Javascript 注入到的逻辑UIWebView捕获实例window open window close and window opene
  • GMSMarker 不透明度动画不重复

    我正在尝试使带有自定义图标的 GMSMarker 以衰减的动画不透明度闪烁 动画应该重复几次 但事实并非如此 它只执行一次转换 然后就停止了 这种情况仅在对不透明度属性进行动画处理时发生 在对其他属性进行动画处理时效果很好 这是代码 GMS
  • iPhone存储然后从Documents文件夹中读取文件

    这一定很容易 但我想将一个文件放在 文档 文件夹中 该文件在启动时读入 我有关于如何阅读的代码 并已确认其在正确的目录中查找 但是 当我保存在 xcode 中的 Resources 文件夹中时 我的文件 RootList txt 存储在 R
  • iOS 5 核心数据冻结

    我尝试做以下简单的事情 NSArray entities context executeFetchRequest inFetchRequest error fetchError 没有什么花哨 但这在 iOS 5 中冻结 在 iOS 4 中工
  • -[NSCFString objectAtIndex:]:无法识别的选择器

    我有一个小问题 在谷歌中找不到 UITableView工作正常 直到我开始滚动 Error Message NSCFString objectAtIndex unrecognized selector sent to instance 0x
  • 在 Facebook 墙上添加照片

    void postToWall FBStreamDialog dialog FBStreamDialog alloc init autorelease dialog userMessagePrompt NSString stringWith
  • 检测iOS设备类型

    在我的应用程序 用 Objective C 编写 中 如何检测设备是 iPhone iPad 还是 iPhone5 if UIDevice currentDevice userInterfaceIdiom UIUserInterfaceId
  • 在 UITableViewCell 中动态显示秒表计时器

    我想保存计时器值并从新的开始显示它UITableViewCell但我的问题是 我成功地能够在第一个单元格上显示秒表计时器 但是当我尝试在其中添加新单元格时UITableView所以我的计时器设置为第二个单元格 我无法定义如何让我的第一个计时
  • 获取添加为子视图的 UIView 的可见矩形

    如上图所示 UIView A 和 UIView C 添加到 UIView B 上 B ClipToBounds 为 YES 因此红色区域不可见 是否有可能获得 A 和 C 的可见矩形 用线条显示 当我触摸视图 A 时 我需要在可见区域显示矩
  • 如何在 iPhone 窗口应用程序中显示另一个窗口

    首先 我是 Objective C 和 iPhone 编程的新手 有事我无法去上班 我有一个 iPhone 窗口应用程序 在主窗口中有一个按钮 我想在单击按钮时显示另一个窗口 我已将事件与我的控制器绑定 我只是不知道如何在事件中显示我的另一
  • 可达性reachabilityWithAddress不起作用

    我正在尝试使用以下代码确定 iPhone 是否可以连接到我的 IP 地址 struct sockaddr in server address server address sin len sizeof server address serv
  • 在 iPhone 的日期选择器中插入空白值

    我有一个日期选择器 使用操作表显示 我想在日期选择器中插入一个空白值并将其设置为默认值 它应该仅根据用户选择而改变 这可能吗 如果是的话怎么办 感谢所有宝贵的建议 UIDatePicker 仅支持某些模式 并且不允许这种自定义 将空白或自定
  • UITextField:键盘出现时移动视图

    我目前正在开发一个具有单个视图的 iPhone 应用程序 该应用程序有多个 UITextFields 用于输入 当键盘显示时 它会覆盖底部的文本字段 所以我添加了相应的textFieldDidBeginEditing 方法 将视图向上移动
  • iPhone 4G 拍照时应用程序崩溃?

    我已从我的设备中拍摄照片并调整图像大小并将其设置到我的图像视图框架 但我的应用程序在拍摄照片后有时会崩溃 使用调整大小 现在我已经用 iPhone 4G 拍了这张照片 仅当许多应用程序在后台运行 多任务 时 应用程序才会崩溃 那么我该如何解

随机推荐

  • 以编程方式确定身份验证模式

    有没有办法以编程方式确定 SharePoint 2007 Web 应用程序是否正在使用表单身份验证 我想一种方法可能是从 web config 中读取它 但我想知道 API 中是否公开了一些属性 看看 admin Authenticatio
  • 尽早停止詹金斯管道作业

    在我们的 Jenkins Pipeline 工作中 我们有几个阶段 我想要的是 如果任何一个阶段失败 那么构建就会停止 而不是继续到进一步的阶段 以下是其中一个阶段的示例 stage Building def result sh retur
  • 核心数据单例管理器?

    有哪些技术原因不创建单例类来管理我的核心数据 我现在正在尝试做出决定 是否应该删除所有样板核心数据代码并在单例中重新实现它 Xcode 模板中的应用程序委托中的样板代码在功能上是作为单例实现的 应用程序对象是一个单例 它只维护一个委托对象
  • Office 2010 AddIn 开发 - 我可以从代码隐藏中读取用户正在使用的主题吗?

    PowerPoint 2010 提供三种默认主题 银色 黑色和蓝色 是否可以从代码隐藏中检查用户当前正在使用哪个主题 我使用此代码根据设置的主题设置界面的颜色 public static class LFTheme const int Th
  • .NET 任务实例在运行期间是否会超出范围?

    如果我在方法中有以下代码块 使用 NET 4 和任务并行库 var task new Task gt DoSomethingLongRunning task Start 并且该方法返回 该任务是否会超出范围并被垃圾收集 或者是否会运行完成
  • 具有私有基数的函数成员指针

    以下代码会产生编译时错误 base print 无法访问类中声明的私有成员 base der 不过我已经做了会员了public在派生类中 为什么这不起作用 include
  • MVC 4 - 编辑可变长度项目列表的更优雅方法?

    我发现的编辑可变长度项目列表的最佳建议是 2008 年为 ASP Net MVC 2 编写的 http blog stevensanderson com 2008 12 22 editing a variable length list o
  • 如何从html标签中只获取文本

    我查询了一些数据 结果是这样的 p img src xxx png alt br p p Lorem Ipsum is simply dummy text of the printing and typesetting industry L
  • 如何在 WooCommerce 中获取订单税务详细信息和税率?

    我正在尝试获取税率用于订单插件中的自定义变量 当然 我可以通过以下方式请求大量数据 order gt get 但我找不到获取税率的方法 例如 21 gt 21 有人有想法让这变得简单吗 你将会拥有获取订单税项这会给你一个数组WC Order
  • 循环遍历 XML 文档

    我的方法 if File Exists C config xml System Xml XmlDocument xd new System Xml XmlDocument xd Load C config xml System Xml Xm
  • 在 C# 中使用 PrintSpoolerAPI 函数 SetForm()

    我正在开发一个 Windows 窗体应用程序 我想在其中打印自定义文档 该自定义文档具有自定义尺寸 我必须使用 C 代码设置默认打印页面尺寸 我做了一些谷歌搜索并发现了PrintSpoolerAPI 我找到的代码将使用添加自定义表单 页面A
  • 使用空值上的连接级别使用 pl/sql 分割字符串

    我在 Oracle pl sql 中使用以下代码 版本 Oracle 数据库 11g 版本 11 2 0 1 0 select regexp substr A B C 1 level output from dual connect by
  • 仅为匿名用户缓存 ASP.NET 页面

    有没有一种简单的方法来仅为匿名用户缓存 ASP NET 整个页面 使用表单身份验证 上下文 我正在制作一个网站 其中向匿名用户显示的页面大多是完全静态的 但向登录用户显示的相同页面则不是 当然 我可以通过后面的代码手动完成此操作 但我认为可
  • LinkedHashMap 排序

    正如 LinkedHashMap 的 javadoc 中所指定的 如果将键重新插入到映射中 插入顺序不会受到影响 但在运行下面的程序时 我注意到在更改访问顺序时再次插入相同的键 Map
  • 开源和基于 Web 的 html5 文档查看器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无论屏幕分辨率如何,如何使 javascript css 弹出 div 居中?

    我有以下代码 它在禁用背景的同时打开一个新的弹出窗口 问题是我必须将其定位 使其距顶部 100px 已经通过 CSS dialog 获得 并且位于屏幕中央 无论用户的分辨率是多少
  • 如何只允许某些值作为Java方法的参数?

    我想编写一个仅采用某些参数值的方法 例如 f e 在里面ToastAndroid 中的类 你只能使用Toast LENGTH SHORT or Toast LENGTH LONG作为方法的持续时间makeText Context conte
  • 使用 NSLayoutManager 计算每个字形的帧

    在这个线程上 Core Text 在 iOS 中计算字母框架 https stackoverflow com questions 21443625 core text calculate letter frame in ios 他们能够使用
  • DebugDiag 和 MVC4 没有提供可用的堆栈跟踪

    我刚刚在我们的生产服务器上遇到了高 CPU 问题 并决定在本地练习调试此类情况 以便将来为此做好准备 但是当我尝试调试本地 MVC4 站点时 我没有获得与教程相同的信息堆栈跟踪做 问题 有谁知道是否可以获得更多信息的堆栈跟踪 我希望在某个地
  • MKAnnotation - 地图图钉标注在其他地图图钉后面弹出

    我的地图图钉可以非常密集地填充 因此当选择一个图钉时 标注会弹出 但大部分被所有其他地图图钉遮挡 我可以将地图图钉放在前面 它有一个代表选定的地图图钉 不是点击标注 选择引脚 有什么解决方法的建议吗 如果您使用自定义注释视图 您可以为选定的