android - 在本地 Android 应用程序的 map 上显示 KML 图层最佳实践

标签 android performance google-maps kml

我有一个很大的 KML 文件到原生 Android 应用程序,请检查以下详细信息并提供建议。

KML 文件详细信息:

  • 大小:1.7 MB
  • kml 文件元素总数:500 个元素
  • 多边形总数:1000多边形

Android 应用详情:

  • 以上详情将在Fragment中查看
  • 我使用了以下支持库来实现这个屏幕 编译 'com.google.maps.android:android-maps-utils:0.4+'
  • 一些计算是在加载屏幕时完成的(比如距离计算)

问题:

  • 加载 map 和 kml 图层需要花费大量时间,大约需要 8 秒 创建 KMLLayer 实例

以良好性能实现上述细节的最佳做法是什么?

请指教。

最佳答案

最佳做法是在后台进行长时间操作(例如,在单独的线程上)并将复杂的任务拆分成小部分。所以你可以:

1) 尽快创建并开始加载 KML 图层(例如在创建应用程序时),而不是仅仅显示它;

2) 而不是一个包含 500 个元素和 1000 个多边形的 kml 文件,而是使用包含 10 个元素和 100 个多边形的 50 个 kml 文件,并只加载必要的文件到图层(例如,您可以按区域位置或语义信息拆分它,或其他标准);

3)结合1点和2点;

4) 恰恰对于谷歌地图,可以使用 kml 文件中的信息创建图 block 并使用 TileProvider。

关于android - 在本地 Android 应用程序的 map 上显示 KML 图层最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42553100/

相关文章:

php - 将 Firebase Cloud Messaging 发送到手机设备

c++ - 获取运行特定进程的处理器数量

javascript - 从地理编码对象获取纬度

android - 重新挂载SD卡后重启SD卡上的APP服务

java - 无法刷新 Groovy Socket

c++ - 比较两个 vector ,使其更有效

angularjs - 如何在 Angular/ ionic 网站上实现AMP?

java - 使用java WebView的谷歌地图API中的奇怪字符

android - Android 应用程序中的 Directions API 实时跟踪

java - Android ListView 内 fragment 不会刷新,无需单击按钮