【问题标题】:Annotation pins and detail view from sqlite来自 sqlite 的注释引脚和详细视图
【发布时间】:2015-10-27 00:45:25
【问题描述】:

我一直在互联网上寻找教程或其他东西来解释这一点。

我需要在地图上显示一些图钉。我需要从 sqlite 数据库(带有 POI 名称、纬度、经度和一些文本的表)中获取它们。他们必须显示带有标题和副标题的注释标注并打开他们的详细视图。

所有这一切都使用 Objective-C。

我该怎么做?任何人都可以帮助编写代码吗?

【问题讨论】:

  • 您对哪一部分有困难?它是从 sqlite db 获取东西还是创建注释或将它们添加到地图并显示地图?
  • 首先从 sqlite db 中获取它们并在地图上显示它们。然后让他们打开适当的详细视图(索引处的对象有点东西)
  • sqlite 数据库在哪里?你怎么把东西放在那里?回答这个问题也可能回答如何从数据库中取出东西。
  • db 文件在应用的资源文件夹中

标签: ios objective-c sqlite mapkit


【解决方案1】:

我建议使用FMDB 从本地 sqlite 数据库获取文件。 This stack answer 对开始使用非常有帮助。熟悉它可能需要一个小时,但一旦你适应了它,你会节省很多次。

现在您可以从数据库中检索数据,您需要为要放置在地图上的每个图钉创建MKAnnotations。 This tutorial 很短,很符合您的要求。另外,不用担心添加大量注释,MapKit 针对在地图上添加大量注释进行了优化。

最后,您希望能够从注释转到详细视图。 MKAnnotationView 有一个名为 leftCalloutAccessoryView 的属性,您可以在其中添加一个按钮。如果您只是想要快速而肮脏的修复,请将按钮上的 tag 属性设置为数组中的索引,其中包含详细视图的信息,并让每个按钮调用相同的选择器。

【讨论】:

  • 就从 sqlite 检索数据并创建地图而言,我很好。我不能把事情放在一起。如何告诉注解根据数据库中某一行的坐标在地图上显示一个图钉?
  • 你能把 SQLite 数据库中的坐标转换成另一种数据类型,例如NSStringfloatNSDictionary吗?
  • 在 Table View .m 文件中,我得到如下数据: NSString *title = [NSString stringWithUTF8String:(char *)sqlite3_column_text(searchStatement, 2)];然后在prepareForSegue:destViewController.dataName = [listOfTitle objectAtIndex:indexPath.row];
  • 当您注销title 时,您会看到什么?它是可用的数据吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 2016-12-08
  • 2012-08-10
  • 2015-11-23
相关资源
最近更新 更多