如何在地图视图中添加自定义标注视图

2024-04-01

我是 Objective-C 中的 MapKit 新手。我可以在地图视图中添加自定义注释。

我需要放置自定义标注视图,如下图所示

like this.

但我不明白如何设计这样的标注视图。

我知道我需要在注释方法的视图中添加标注。

- (MKAnnotationView *)mapView:(MKMapView *)map viewForAnnotation:(id <MKAnnotation>)annotation
{
    static NSString *AnnotationViewID = @"annotationViewID";

    MKAnnotationView *annotationView = (MKAnnotationView *)[mapview dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID];

    if (annotationView == nil)
    {
        annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease];
    }

    annotationView.image = [UIImage imageNamed:@"blue_without_pin.png"];
    annotationView.annotation = annotation;


    return annotationView;
}

基本上,您想要做的是通过在 MKMapViewDelegate 实例中实现以下方法来添加新的自定义视图:

- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view {
    CGPoint annotationCenter = [mapView convertCoordinate:view.annotation.coordinate toPointToView:mapView];
    [self displayCustomCalloutForAnnotation:view.annotation center:annotationCenter];
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在地图视图中添加自定义标注视图 的相关文章

随机推荐

  • 可以直接使用程序集访问缓存吗?

    就效率而言 缓存是一个核心问题 我知道缓存通常会自动发生 但是 我想自己控制缓存的使用 因为我认为我可以比一些不知道确切程序的启发式方法做得更好 因此 我需要汇编指令来直接移入或移出高速缓存单元 like movL1 address con
  • java中的HttpClient [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想使用一个简单的 HttpClient 然而 看来sun net www http HttpClien
  • php 中的短唯一 ID

    我想创建一个唯一的 ID 但是uniqid 正在给予类似的东西 492607b0ee414 我想要的是类似于tinyurl给出的东西 64k8ra 越短越好 唯一的要求是它不应该有明显的顺序 并且它应该看起来比看似随机的数字序列更漂亮 字母
  • 如何选择具有列名称的所有表并更新该列

    我想找到我的数据库中包含列名 Foo 的所有表 并将其值更新为 0 我在想这样的事情 但我不知道如何将 UPDATE 放在该代码上 我计划有关于 MySQL 数据库内的事件的这条语句 我使用的是 WAMP 这个想法基本上是每天运行一个事件
  • 角度资源不调用我的错误回调函数

    我已经这样做了几个小时 但我不明白为什么当我的 Rails 后端引发正确的错误时 Angular 没有触发我的错误回调 我正在使用角度 1 2 0rc1 根据文档 non GET class actions Resource action
  • Wordpress - 如何使 URL 返回具有自定义内容类型的动态 JSON?

    首先是一些背景知识 我尝试按照此处的说明进行操作 https developer apple com library archive documentation General Conceptual AppSearch UniversalL
  • 为什么 C++ 中的析构函数以与初始化相反的顺序取消分配内存?

    以与变量相反的顺序取消分配内存有什么好处 考虑这个例子 Type1 Object1 Type2 Object2 Object1 假设Object2使用一些内部资源Object1并且只要Object1已验证 例如 Object2s 析构函数访
  • 过滤 QueryDSL 搜索的结果

    我使用 QueryDSL 作为 Spring Data Rest 的一部分来从我们的 API 中搜索实体 是否可以以某种方式过滤搜索 API 以便默认情况下不会找到 已停用 的汽车实体 目前 我在汽车实体上有一个标志 当它设置为 true
  • 加速 Selenium Webdriver

    我在 Perl 语言绑定下使用 Selenium Webdriver 2 0 和 Firefox 20 它非常慢 例如 一个常见的操作是填写几个
  • 获取 Playwright 中输入元素的值

    如何返回 elem 的值以便我可以验证它确实是1 const elem await page input my input await elem fill 1 另外 从 v1 20 开始 还有toHaveValue可以验证元素值的匹配器 a
  • 如何使用 php 获取 XML 中所有现有标签的列表

    我有一个 xml 数据 如下所示
  • 替换 Camel v2.16.0 中已弃用的 beanRef()

    我们正在从 Camel v2 13 升级到 v2 16 并发现 beanRef 已被标记为已弃用 Apache Camel 推荐的替代 替代方案是什么 我在 Camel v2 16 0 文档网站上找不到任何有用的东西 甚至更新的示例尚不可用
  • 错误:在调用 FB.init() 之前调用了 FB.login()

    我使用这个 Facebook 登录按钮代码 div div
  • Jetty 如何处理具有不同依赖项的相同类的类加载?

    我想知道当多个依赖路径可能导致同一个类时 jetty 如何处理 例如 Jetty 预先打包了 JSTL 1 2 但我添加了一个依赖项来加载 JSTL 1 2 4 在编译时 如果我断点测试它在eclipse中下载源代码 它会在1 2 4版本处
  • 使用 MongoDB 进行两阶段提交

    这就是我的想法 当使用 MongoDB 等每个操作都是原子操作并且不支持除此之外的事务时 您是否发现这种模拟两阶段提交的解决方法有任何问题 transaction scope read message from servicebus Upd
  • Bootstrap 3选择内联输入形式

    我正在尝试获取输入并选择彼此内联的选项 例如该演示使用 Bootstrap 2 死链接 http bootply com 93408 遵循 Bootstrap 3 指南 我设法做到这一点 div class container div cl
  • 获取文本框中插入符号的位置

    如何获取 TextBox 控件可见客户区域中的插入符位置 x y 我需要向文本框添加自动完成功能 我发现了WPF 的解决方案 https stackoverflow com questions 1053539 finding the pos
  • Bash 'read' 命令在 Mac 上不接受 -i 参数。还有其他选择吗?

    我有一个 bash 脚本 在我的工作 Ubuntu 机器上运行良好 但遗憾的是 当我尝试在我的 Mac OSX Lion Mountain Lion 笔记本电脑上运行它时 它就崩溃了 杀死它的那行是这样的 while z SSHFS PAT
  • rufus cron 作业在 Apache/Passenger 中不起作用

    我有一个在 Apache Passenger 上运行的 Rails 应用程序 它有一个 rufus scheduler cron 作业 在后台运行并通过电子邮件发送通知 当我在 WEBrick 服务器上运行正在开发的应用程序时 电子邮件会像
  • 如何在地图视图中添加自定义标注视图

    我是 Objective C 中的 MapKit 新手 我可以在地图视图中添加自定义注释 我需要放置自定义标注视图 如下图所示 但我不明白如何设计这样的标注视图 我知道我需要在注释方法的视图中添加标注 MKAnnotationView ma