在原生Android应用程序的地图上显示KML图层最佳实践

Wae*_*hah 11 performance android google-maps kml

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

KML文件详细信息:

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

Android应用详情:

  • 以上详细信息将在Fragment中查看
  • 我使用以下支持库来实现此屏幕编译'com.google.maps.android:android-maps-utils:0.4+'
  • 加载屏幕时会进行一些计算(如距离计算)

问题:

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

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

请指教.

And*_*nko 1

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

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

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

3)合并1点和2点;

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