2

嗨,这个伟大社区的所有成员!

这是我的第一个问题,请原谅我可能的错误。我希望从今天开始,我可以对你们中的一些人有所帮助,就像希望你们对我一样。解决这个问题:

我正在构建一个 android 应用程序,其目的是搜索最近的加油点和最近的护理维修中心。我对 android 非常陌生,感谢这里有很多关于 android 的帖子,我已经成功地达到了我已经构建地图并将其动画到我当前位置的地步,同时更新了我的位置。

现在我必须添加兴趣点的标记。由于它们至少有 10 个(我将仅出于演示目的添加它们)我认为通过 10 多次重复调用来添加它们是不明智的itemizedOverlay.addOverlayItem()。我的想法是将它们保存在格式的文件中,( " latitude " , "longitude" , simple_description_title , other info )然后以某种方式导入地理点的前两个字段和标题的第三个字段。我将在第 4 次之后使用某种类型的工具提示文本(例如 tel_number)。

你认为这是一个好方法吗?以及如何在extends ItemizeOverlay().

直到此时我才发布代码,因为它无关紧要。

4

1 回答 1

0

欢迎来到 SO,让我们直接进入您的问题/问题。

1.)由于您只添加 10 个兴趣点,因此如果您只为所有 10 个兴趣点调用 itemizedOverlay.addOverlayItem() 并不重要,因为诀窍是仅在使用 itemizedOverlay 添加所有叠加项后才调用 itemizedOverlay.populate() .addOverlayItem(),这样你就不会在性能上妥协。

2.) 现在,再一次,由于您只是进行演示,我建议您将所有 10 个叠加层及其各自的地理位置简单地硬编码到 Android 代码本身中。这样您就不必担心读取数据。此外,使用 txt 文件存储数据并不是性能和便利性的最佳选择。这就是数据库存在的目的。

3.)如果将来您这样做时,您确实需要使用一些动态数据来填充您的标记,那么我强烈建议您使用

  • SQLite:Android 提供的嵌入式数据库,它非常适合存储应用程序所需的少量信息,例如描述标题、其他信息、纬度、经度,但是,如果您需要某种基于连接的应用程序每隔一段时间更新一次全局可访问的数据,我建议您使用下一个选项,

  • MySQL:这是一个在线数据库,您必须使用服务器和 PHP 与之交互。使用在线数据库的优势在于,您现在可以通过读取和写入数据库来在不同用户(朋友、联系人、关注者等)之间共享信息。

于 2012-08-29T02:22:25.690 回答