如何使用 QML/QtLocation 模块在地图上显示大量离线数据?

Posted

技术标签:

【中文标题】如何使用 QML/QtLocation 模块在地图上显示大量离线数据?【英文标题】:How to use the QML/QtLocation module for displaying a large amount of offline data on a map? 【发布时间】:2015-05-10 04:59:18 【问题描述】:

我正在使用 QML 及其新的 QtLocation 模块 (>=Qt5.4) 创建离线 Slippy Map。我很容易用离线缓存显示图块。 现在我想将自定义数据添加到此地图(约 7000 个机场的列表)。 这个巨大的列表必须根据缩放级别进行聚类(出于性能和可读性的原因,除非 QtLocation 具有内置的“优化”..?.

实现这一目标的最优雅/最佳方式是什么,尽可能接近 Qt/QML API?

我在这里看到了一些关于类似方法的有趣内容:How to handle large amounts of data on ios Maps。但它适用于原生 iOS。

非常欢迎任何建议;)

【问题讨论】:

【参考方案1】:

您可能想看看新的 ESRI QT Api。它是为处理庞大的数据集而设计的,您可能会找到合适的东西。 这是一个商业选项,因此它的可行性实际上取决于您的用例和预算。免费的“基本”许可证对您来说可能就足够了。

https://developers.arcgis.com/qt/

【讨论】:

btw @babou,你是如何实现离线缓存的?你有在线回购吗? 感谢 Marco,我正在考虑一个更“开放”的解决方案,但我一定会尝试使用该 SDK,非常有趣!对于离线缓存,我将预渲染的 png 切片放在文件夹树中,就像通常的 ../z/x/y.png 一样,我在该文件夹上运行一个简单的 http 服务器,然后重定向 qt 切片获取器寻找的地址通过编辑我的主机文件到本地主机。希望这可以帮助。我希望 QtLocation 模块有一天会建议将磁贴 url 作为参数传递(现在它是硬编码的)。 我也开始使用 SDK,它看起来很有希望,尽管我同意我们仍然肯定需要一个易于使用的开源替代方案。如果您可以分享有关本地服务器解决方案的任何代码,请告诉我,我真的很好奇,想知道它是否可以在移动平台上轻松运行。您可能想在这里回答我的问题:***.com/questions/29120160/…【参考方案2】:

为此您需要一个自定义模型,它会根据缩放级别更改、中心更改和地图大小(宽度和高度)更改进行更新

【讨论】:

以上是关于如何使用 QML/QtLocation 模块在地图上显示大量离线数据?的主要内容,如果未能解决你的问题,请参考以下文章

arcgis如何加载地图

如何使用高德地图API(搜索POI)

如何在 Android 应用程序的地图中显示用户的实时位置?

如何在app里利用js调取手机第三方地图--以高德地图和百度地图为例

folium:绘制地图的模块

通过 Titanium 地图模块在 Android/Apple 地图上隐藏指南针