MapKit:地图上的位置是不是具有唯一 ID?

Posted

技术标签:

【中文标题】MapKit:地图上的位置是不是具有唯一 ID?【英文标题】:MapKit: Do locations on a map have unique id's?MapKit:地图上的位置是否具有唯一 ID? 【发布时间】:2015-11-15 20:15:15 【问题描述】:

我正在尝试在您搜索某物的地方制作一些东西,它会在地图上显示位置。我想知道是否有办法获取一个位置的唯一 ID(使用 mapkit 和 corelocation),以便我可以将其存储起来以备后用。之后,当有人搜索一些位置并且保存的 id 的位置在那里时,我会做其他事情

基本上,我需要获取某个位置的唯一 ID,以便稍后对其进行处理。现在我正在使用纬度和经度,但我想知道是否有更好的方法。

【问题讨论】:

“位置”是什么意思? MK地标? MK注解? CLPplacemarks? 【参考方案1】:

我想你可能想看看MKAnnotation。这样您就可以为要保存的每个位置创建一个注释,然后再检索它们。

来自MKAnnotation docs:

MKAnnotation 协议用于提供注解相关的 信息到地图视图。要使用此协议,您可以在任何 存储或表示注释数据的自定义对象。每个对象 然后用作有关单个地图注释的信息源 并提供关键信息,例如注释的位置 在地图上。注释对象不提供视觉 注释的表示,但通常是坐标(在 结合地图视图的委托)创建一个 适当的 MKAnnotationView 对象来处理显示。

【讨论】:

我正在使用它,但我正在尝试从每个注释/位置中找到一个唯一的 ID 来保存,以便我可以保存有关该位置的信息并稍后在注释中显示它。 您要将这些唯一 ID 存储在哪里?是否有任何原因无法保存注释本身? 看看***.com/questions/14848404/… 我将它们保存在解析中,这样我就可以存储其他人可以访问的关于它们的其他数据(用户输入的条目)。【参考方案2】:

位置由它的纬度和经度(如果考虑 3 维,还有高度)标识。

当您说 location 时,我认为您的意思不仅仅是位置。例如,一家餐厅和一家酒吧在经纬度上可能位于相同的位置,但考虑到它们的名称、业务类型等,它们的位置却是不同的位置开。

如果您在 Parse 中创建一个表来存储位置,那么您可以为所有这些属性添加列,并且当您将对象保存到此表时,Parse 将为该对象分配一个唯一标识符。此对象是您在应用中识别和引用位置的方式。

您可以使用 PFGeoPoint 在 Parse 中存储位置,这是一种存储纬度和经度的简便方法(Parse 支持在查询中识别附近的位置)。

【讨论】:

所以我应该将位置保存为 PFGeoPoint,然后在搜索某些内容时检查该 PFGeoPoint 是否存在,如果存在,请向其添加信息? 我认为您的问题可能缺少某些内容。如果不是您自己的 Parse 数据库,您在哪里搜索您的位置?这是您需要查看的内容,以确定它是否有一些您可以使用的现有标识符。

以上是关于MapKit:地图上的位置是不是具有唯一 ID?的主要内容,如果未能解决你的问题,请参考以下文章

didSelect 上的 MapKit/MKMapViewDelegate:如果启用了用户位置,则底部工作表不会打开

MapKit 中的中心位置在 UiLabel 中不可见

ios:mapkit如何在地图上启用当前位置按钮?

MapKit 地图 - 注释未显示在模拟器上

Swift Mapkit - 远离用户位置

iOS Mapkit - 用户位置显示为 0, 0