1

我的任务是为客户创建一个 iPhone 应用程序。

我有一些编码经验,但仅限于 C#,所以它在这里并没有真正的帮助,但除此之外,我是 iPhone 编码的完全新手。

我想要完成的是在地图上获得某种形式的商店定位器。

我已经成功添加了地图,通过放大用户来获取用户位置。我添加了 2 个注释(我认为这是在地图上显示位置的最佳方式)。

我有 2 个需要帮助的查询,在某种形式的数据库中列出商店的最佳方法是什么。XML、PList、.sql 等...(这也需要从网络上读取,因为它需要很容易地编辑,因为会添加很多新商店)。是否可以遍历数据库并将商店动态添加到用户位置内的地图上?

我没有要求任何人为我编写任何代码,我只是寻求一些帮助,因为我已经用谷歌搜索了这个地狱并且似乎找不到任何有帮助的东西。

任何帮助将非常感激,

谢谢

4

3 回答 3

1

就保存这些位置的潜在格式而言,您的选择包括:

  • XML/JSON 是与远程服务器交换数据的好格式,但对于本地数据库不太理想(尽管理论上它们可以用于此目的)。JSON 稍微容易处理(使用NSJSONSerialization),但 XML 也可以相对容易地解析(例如,使用NSXMLParser)。如果你在做网络操作,我也强烈建议你看看AFNetworking ,它比标准的NSURLConnection提供了一些很好的优势。当然,这假定您已经在服务器上编写了一个 Web 服务来提供必要的 JSON 或 XML 提要。

  • 如果您想在 iOS 设备上保存简短的本地位置列表,Plist 是一种很好、简单的格式。将数据保存到 plist 就像调用orwriteToFile的方法一样简单,读取数据是通过or完成的。NSDictionaryNSArray[NSDictionary dictionaryWithContentsOfFile:filename][NSArray arrayWithContentsOfFile:filename]

  • 对于大型数据库, Core Data是一种很好的 iOS 特定格式。它可能是处理持久对象的首选 iOS 机制,但比 plist 复杂一个数量级。

  • SQLite 也是一种很好的数据库格式,如果您正在考虑一种适合于更大数据库的结构,但也适合于最终推出到多个平台(例如 Android 和 iOS)。如果您决定走 SQLite 路线,请考虑使用 Objective-C 包装器(例如FMDB),这将大大简化您的生活。

上面所有讨论中隐含的是,是的,您当然可以编写代码来遍历您的数据库和/或模型数据结构,提取必要的位置信息,并动态地为您的地图添加注释。Location Awareness Programming Guide应该有助于向您介绍一些与 MapKit 相关的功能。

于 2013-04-29T16:27:13.037 回答
0

“是否可以遍历数据库并将商店动态添加到用户所在位置的地图上?”

是的。正如您已经创建了前两个注释一样,您现在需要在循环中创建更多注释。您可能需要的唯一额外信息是,一旦您向地图添加了注释,它将一直保留在那里,直到您将其删除。所以你不需要维护你自己的注释列表,除非你想用它做其他事情。只是开火然后忘记。因此,现在您的问题归结为如何在 Objective-C 中循环遍历来自您选择的数据源的数据,而不是特定于 MapKit。

于 2013-04-29T20:47:11.447 回答
0

我知道这很旧,但如果其他人像我一样遇到这种情况,您可以使用 tanmay bakshi 的 tmysqlkit 直接读取和写入服务器上的 mysql 数据库。

最好的,山姆

于 2016-12-20T02:06:03.757 回答