java - Android 谷歌地图添加彩色标记时存在巨大滞后

标签 java android google-maps

我注意到在谷歌地图上添加一些(50)彩色标记时存在巨大的延迟。标记需要具有大约 20 种不同的色调。我尝试将生成的 BitmapDescriptor 存储在 HashMap 中并从后台线程中存储,并在添加标记时检索它,这将延迟减少了约 10%。当我没有设置标记颜色并将其保留为默认红色时,我完全没有延迟。

如何添加标记:

googleMap.addMarker(new MarkerOptions()
                    .title(title)
                    .snippet(snippet)
                    .position(new LatLng(lat, lng))
                    .icon(BitmapDescriptorFactory.defaultMarker(hue)));

除了使用集群之外,我可以采取什么措施来防止这种滞后,在这种情况下集群对我不起作用。

最佳答案

这是一个已知问题,请参阅 #7174了解更多信息。

为了避免这个问题,您可以直接使用它(在这种情况下所有标记都会变成红色):

BitmapDescriptorFactory.defaultMarker()

或者最简单的方法,使用自定义标记:

BitmapDescriptorFactory.fromResource(R.drawable.custom_marker)

关于java - Android 谷歌地图添加彩色标记时存在巨大滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34531512/

相关文章:

java - 如果将成员数据声明为原始数据类型,如果对象被声明为可序列化,值是否会被序列化?

java - Android OpenStreetMap 边界框内的所有街道

android - 在 webrtc android 中调用时出现错误

看不到白色背景的 Android Honeycomb CheckBox

android - 在android中查找从源到目的地的路线指示

java - (Tomcat 7) 部署的 jar 找不到文件

java - IntelliJ 中是否存在类似 ASTNode Identifier 的东西

android - 我可以将带有许多 ImageView 的 VIew 添加到 Webview 吗?

python - 如何使用 python pygmaps 将 'title' 添加到 Google map 上映射的每个点?

swift - 如何在没有 InfoView 的情况下在 GMSMarker 上添加点击事件