Hec*_*tor 6 android android-loader google-maps-android-api-2
我正在开发一个基于GoogleMap的Android应用程序.
我需要在地图上显示1000个标记.
目前,我从SQLite数据库加载器中检索每个标记的纬度和经度,并在public void onLoadFinished(final Loader loader, final Cursor cursor)方法中添加标记.
这种方法虽然提供了非常糟糕的用户体验,因为当我添加标记时应用程序没有响应.
如何在googlemap中添加1000个标记并保持我的应用程序响应?
因为我必须在主UI线程上将标记添加到地图.
一种可能的方法是仅Marker在它们落入地图的可见区域时添加s.
您实际上必须将您的呼叫转移addMarker到onLoadFinished,onCameraChange并且onLoadFinished仅创建创建这些呼叫所需的数据列表Marker.这可能是最简单的形式List<MarkerOptions>.
Lalit Poptani在上面的评论中提到的Android Maps Extensions可以为您处理,即使您不想使用群集.你只需保留你的代码,只需拨打电话即可
googleMap.setClustering(new ClusteringSettings().enabled(false).addMarkersDynamically(true));
Run Code Online (Sandbox Code Playgroud)
用此扩展程序lib替换Google Maps Android API v2之后.
| 归档时间: |
|
| 查看次数: |
2221 次 |
| 最近记录: |