使地图图钉从簇中分散开来

2024-01-30

我的地图有两个自定义注释类:一个用于与某个位置相关的单个帖子,另一个用于这些帖子的集群。该集群存储指向它包含的所有帖子的指针,以及中心纬度/经度位置(使用它包含的帖子的位置计算)。我的行为是,当我单击集群注释时,它会删除该集群并将其帖子添加到地图中。我想要的是在将簇扩展为动画时更改引脚掉落注释,从而使新引脚从簇中心向外移动到新位置。然而,我也有一些帖子由于与其他点的距离而从未聚集在一起。显然他们不能有这个动画,因为没有相关的位置可供他们向外移动。有谁知道我如何实现这个?


让引脚从簇中心扩展实际上非常容易。当您制作新的单针注释时,将它们的坐标设置为簇中心:

id <MKAnnotation> pin;
CLLocationCoordinate2D clusterCenter;
// ...
pin.coordinate = clusterCenter;

In viewForAnnotation:,不要为新引脚设置动画:

MKPinAnnotationView *pinView;
// ...
pinView.animatesDrop = NO;

然后,将图钉添加到地图视图后,您将通过动画将它们移动到真实位置:

MKMapView *mapView;
id <MKAnnotation> pin;
// ...
// probably loop over annotations
[mapView addAnnotation:pin];
NSTimeInterval interval = 1.0; // or whatever
[UIView animateWithDuration:interval animations:^{
    // probably loop over annotations here again
    CLLocationCoordinate2D realCoord;
    // ...
    pin.coordinate = realCoord;
}];

至于非聚集引脚的问题,在不了解详细实现的情况下很难回答,但我认为有很多可能性。您可以只使用一个简单的标志来跳过动画。或者你可以完全一样地对待它们,即使它们是单独的,仍然对它们进行“集群”,并且仍然为它们设置动画……效率不是最高,但它会起作用,并且你的代码会更干净。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使地图图钉从簇中分散开来 的相关文章

随机推荐

  • git 存储库中二进制文件的高效存储

    我想要一个主要由二进制文件组成的 git 存储库 我需要跟踪存储库中已更改 添加和删除的文件 但我不希望 git 对文件本身的内容进行版本控制 换句话说 我只需要 git 来跟踪更改 更改日志 而不需要内容 这对于 git 来说是可能的吗
  • 重置选择器无法正确重置表数据

    我有一个带有多个选项的选择器和一个重置按钮 单击该按钮时必须将选择器重置为第一个选项 单击该按钮时将重置选择器 但表中的数据不会更改 这些是选择器和按钮
  • 用于在 Android 版 Firefox 中激活阅读器模式的书签

    最近 Android 上的 Firefox 发生了变化 这使得我无法使用向阅读列表添加内容并从那里打开它以强制页面进入阅读器模式的变通办法 考虑到这一点 我试图找到并最终制作一个小书签 以强制页面进入阅读器模式 到目前为止 我发现通过在 u
  • 如何使用 Google Apps 脚本替换电子表格中的文本?

    我想在电子表格中找到指定的文本并将其替换为其他单词 我这样尝试过 sheet SpreadsheetApp getActiveSheet sheet replaceText ga sessions Sessions 然后它说 Cannot
  • 后端使用Vite

    我们使用 Vite 作为前端 在 SvelteKit 内 它可以很好地创建 SSR 和前端代码 我特别喜欢通过 esbuild 预捆绑第 3 方软件包 有人可以告诉我是否可以将 Vite 捆绑管道用于仅后端项目 基于 koa 的 Nodej
  • iOS Swift Mi Scale 2 蓝牙称重

    我正在编写一个可以从小米米秤2获取体重测量的应用程序 读取所有可用的uuid后 只有 181B 连接 特别是 2A9C 特征 蓝牙GATT中的体重测量 收到通知 值数据为 2 164 178 7 1 1 2 58 56 253 255 24
  • 在 php-fpm/mod_fastcgi 中使用 mod_headers 时出现问题

    我正在尝试添加HSTS http en wikipedia org wiki HTTP Strict Transport Security我的应用程序中每个响应的标题 我的第一个想法是使用 mod headers 我将此指令放置在文档根目录
  • WCF REST 服务 POST 在 IIS 上返回 404 Not Found

    我在Win8上用VS2012创建了一个WCF服务 如果我通过 VS localhost port 启动服务 我就可以执行 GET 和 POST 操作 当我部署到同一台计算机上的 IIS 时 只有 GET 有效 POST 返回 404 Not
  • ListView:通过 Filterable 进行过滤与使用新 URI 重新启动 CursorLoader

    The ListView实现过滤内容的方法 您能详细说明一下什么时候应该使用它吗 据我了解 这种过滤适用于基于数组的适配器 所有数据都已经在内存中 这样 过滤器只是帮助跳过不应该显示的数据 然而 如果ListView与游标适配器 SQLit
  • 清单合并失败:uses-sdk:minSdkVersion 8 不能更小

    问题是 Error Execution failed for task app processDebugManifest 清单合并失败 uses sdk minSdkVersion 8 不能小于库 com android support s
  • 运行 showdown.js 服务器端将 Markdown 转换为 HTML(在 PHP 中)

    我正在尝试在我的网站上实现 WMD 并且想知道如何运行 showdown js 服务器端以将 markdown 转换为 HTML 为了将两者存储在数据库中 我正在使用 PHP 任何提示都会有帮助 之前从未从 php 运行过任何类型的 js
  • 升级到 AngularDart 0.13.0 并收到有关路由和 di 的错误

    我升级到 AngularDart 0 13 0 但收到以下错误 使用新的路由模块初始化 RoutingModule 的正确方法是什么di包2 0 1 In main dart I have class RoutingModule exten
  • 运行时异常 (Chromecast)

    我尝试配置 Chromecast 但收到 RuntimeException 并且不明白原因 Fabric 有日志 致命异常 java lang RuntimeException 无法启动活动 ComponentInfo activity T
  • 在 Google App Engine 上使用 Python 验证 Android 应用内购买消息的签名

    Android 开发人员网站上的示例应用程序使用 java 代码验证购买 json 有没有人有幸弄清楚如何用 python 验证购买 特别是在 GAE 中 以下是android应用内计费的相关摘录示例程序 http developer an
  • 模式浏览器不显示我在 Solr 中添加到 schema.xml 中的字段

    我在 solr v5 1 中创建的名为 Core3 的核心的 schema xml 中添加了一些字段 我不是指示例文件夹 而是使用 服务器 文件夹来运行 solr 服务器并创建 solr 核心 我使用 bin 文件夹中提供的 solr cr
  • MVVM Light WPF 打开新窗口

    我是 MVVM 新手 正在使用 MVVM Light 学习它 我在 wpf 中有一个带有登录窗口的应用程序 当用户输入正确的凭据时 登录窗口应关闭并应打开一个新的主窗口 登录部分已经可以工作 但是如何打开一个新窗口并关闭当前窗口 login
  • F# 中的命令式多态性

    OCaml 的 Hindley Milner 类型系统不允许命令式多态性 类似于 System F 除非通过最近对记录类型的扩展 这同样适用于 F 然而 有时需要将用命令式多态性 例如 Coq 编写的程序翻译成此类语言 Coq 的 OCam
  • Rails 5 多个清单文件的问题

    我的问题 在我的 Rails 5 应用程序中 我有 2 个布局 因此我需要设置多个清单文件 我做了什么 我做了以下事情 The two layouts have a user html erb and a main html erbhtml
  • Bootstrap 模态表单发布两次 Django

    我正在按照以下指示进行操作django bootstrap modal forms django bootstrap modal forms https pypi org project django bootstrap modal for
  • 使地图图钉从簇中分散开来

    我的地图有两个自定义注释类 一个用于与某个位置相关的单个帖子 另一个用于这些帖子的集群 该集群存储指向它包含的所有帖子的指针 以及中心纬度 经度位置 使用它包含的帖子的位置计算 我的行为是 当我单击集群注释时 它会删除该集群并将其帖子添加到