问题标签 [mapkitannotation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 如何在使用 prepareSegue 时将存储在 MapKit 注释中的信息传输到新的视图控制器
我从 Firebase 下载一些信息并将该信息存储到我的自定义注释类中。然后我想将该信息传输到下一个视图控制器上的变量,以便表格视图可以正确加载。而不是因为值返回 nil 而崩溃。我正在使用标注附件按钮来启动 segue。我正在使用 calloutAccessoryControlTapped 函数。我了解如何将数据从一个 ViewController 传递到下一个,甚至更好的是 tableView,这是独一无二的,因为我正在使用类似于 tableViewCells 的 MapKit 注释,但我不知道 MapKit 相当于 indexRow。 tableViews 的路径。
这是要求的示例(注意事项有所不同。发送信息的视图不是 tableView 它是 MapView 使用注释来显示一些信息和详细信息按钮附件以转到下一个视图控制器,它是tableView。所以在这里的这个函数中我不能使用 indexPath.row 并且这次我没有将东西存储在字典中,因为这是一种稍微不同的视图。我希望这是有道理的):
arrays - 在 MapView 上保存注释
目前我正在开发的应用程序创建自定义注释,但是当用户从带有 mapView 的页面切换时,它们都被卸载了。我将它们保存到自定义数组中,但 UserDefaults 不允许我保存该数组。有没有一种简单的方法来保存放置的注释,或者我如何让 UserDefaults 来保存我的数组。我的数组是这样的:
ios - IOS/Objective-C:应用程序首次启动后位置引脚 (json) 未显示
我的应用程序在第一次执行时收到一个 json 对象(具有三个精确位置);有一个 mapKit(第一个屏幕)和一个 TableView,用户可以在其中检查这些位置。问题是当我第一次启动应用程序时,地图上没有图钉。但是如果我切换到表格,我可以看到它们 - 在单元格上 - 如果我再次切换到地图,就会出现大头针......我不知道为什么会发生这种情况,我不应该在之后看到大头针吗应用启动?地图代码:
和表:
编辑 - Spot 类
编辑: SpotService 类
ios - 一个应用程序中的多个 mapView
我正在创建几乎所有功能都使用 mapView 的业务应用程序。现在我在考虑,可以在一个应用中使用两个 mapView 吗?
更具体地说 - 我创建了 mapView 并进行了一些创作(如注释等)。是否可以在模态视图中创建另一个 mapView 只是为了呈现一些其他功能?多个使用mapView的最佳实践是什么?我应该考虑只使用一个 mapView 吗?
谢谢你的帮助。
ios - 添加/删除注释时奇怪的自定义注释行为
我正在为 iOS 开发一个应用程序,并且在我的地图视图上遇到了自定义注释的问题。
这是想法:
1)我将用户位置加载到地图,从这个位置我向我的后端服务器发送一个请求以检索所有附近的兴趣点。
2)我有一个自定义注释如下:
当我将注释添加到地图上时,我会动态设置notificationCount
标签以使用从 Firebase 数据库中检索到的数据。
3) 用户能够增加/减少围绕他们当前位置的半径的大小。选择这个新半径后,我使用mapView.removeAnnotations(mapView.annotations)
删除所有注释,然后使用所选半径从服务器检索到的新数据重新添加这些注释。
问题:
最初加载视图时,注释使用正确的标签集等按预期工作。
但是,一旦用户更新了半径并且我删除/添加了以前的注释,注释及其相应的标签就不会按预期显示。
例如,这是地图首次进入视图时的样子:
预期数据是初始图像中显示的数据(首次进入视图时),但是当半径更新时,我的注释的 z 值不被尊重,并且notificationCount
不正确(例如,在第二个中找到的第三个点图表不应有标签)。这很奇怪,因为我已经设置了打印语句和断点来监视每个注释,func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {...}
并且值是正确的并且是我所期望的,但是视图没有显示这些值。
关于这里可能出现什么问题的任何想法?提前致谢!
编辑以包含以下 mapView 委托:
ios - 如何处理mapview上大量引脚的数据?
我正在开发一个显示带有注释的地图的应用程序。注释数以千计并且还在增长。有与注释引脚相关的数据。我从网络服务获取数据。我应该预先下载所有引脚的所有数据吗?这显然很糟糕。但是我应该如何以一种有效的方式做到这一点,当用户放大和缩小地图时,没有滞后。
提前致谢!
ios - 从视图中删除 MKAnnotationView 默认标注
我试图防止 MKMapKit
在点击显示在 a 上的标记时显示默认注释标注,MKMapView
而不会阻止注释的委托调用/交互(见下文)。
我了解您可能会禁止该宣传信息完全显示
或者(更多的是一种骇人听闻的方法)不设置注释的任何显示参数:
正如其他线程中所建议的那样,向注释视图添加子视图确实会向您选择的边界框架添加自定义视图(无论您喜欢什么)。
然而,问题是添加子视图
- 不会阻止默认标注气泡出现
- 如果您禁用
canShowCallout
或不设置标签,注释交互将丢失.. - 如果您添加子视图,它会添加到默认标注下方。
3 注意 您可以将添加子视图延迟 +0.5 秒,然后将您的自定义视图添加到标注上方,但这是一个糟糕的解决方法,因为您会看到默认标注在您的视图之前出现。
是否有任何解决方法
- 删除默认标注而不禁用调用委托方法,
- 或编辑实际的标注视图(我猜它是一些
CGPath
或UIBezierePath
绘制的视图)
任何帮助,将不胜感激。谢谢!
更新:
我正在使用委托mapView:viewForAnnotation
来创建注释视图并将其添加到我的地图中。
swift - 如何与发件人作为 MKAnnotation 进行 segue
我正在尝试从地图注释中的右控制按钮中选择:
但我需要将发件人作为 MKAnnotation,因为其中包含我需要发送到目标 VC 的详细信息。现在发件人是引脚。我怎样才能做到这一点?
swift - 注释上的按钮未出现
我的应用程序有问题。事实上,当我在一个单独的应用程序中运行我的代码时,它正在工作。xCode 没有向我显示任何错误,一切正常,但我在 MapKit 的注释中看不到详细信息按钮。xCode 中是否存在更深层次的问题?
那是我的代码: