Android 如何在谷歌地图中为clusterer中的标记设置我自己的图标
我在用谷歌地图聚类。我有4种不同类型的标记,每一种都是从一个抽象类扩展而来的,每一种都有它的owm图标,并在MarkerOptions字段中定义。我对这个抽象类使用ClusterManager。 当我使用Android 如何在谷歌地图中为clusterer中的标记设置我自己的图标,android,google-maps,markerclusterer,Android,Google Maps,Markerclusterer,我在用谷歌地图聚类。我有4种不同类型的标记,每一种都是从一个抽象类扩展而来的,每一种都有它的owm图标,并在MarkerOptions字段中定义。我对这个抽象类使用ClusterManager。 当我使用 //marker is instance of one of extended classes and has abstract class type clusterManager.addItem(marker); 聚类后,它将图标设置为默认值。我怎样才能解决这个问题?我试着用这样的东西:
//marker is instance of one of extended classes and has abstract class type
clusterManager.addItem(marker);
聚类后,它将图标设置为默认值。我怎样才能解决这个问题?我试着用这样的东西:
//marker is abstract marker, getMarker returns the MarkerOptions of this marker
clusterManager.getMarkerCollection().addMarker(marker.getMarker());
但它也不起作用,标记在地图上印有所需的图标,但没有聚类
我应该在我的抽象类中创建一些方法,还是有一些方法可以从DefaultClusterRenderer扩展来实现这一点?我还没有找到一些关于使用谷歌或学习谷歌地图库的信息
谢谢你的帮助 所以,这是我的愚蠢。再次,它表明,我应该更加关注,学习图书馆。如果有人对答案感兴趣,这里是: 我的假设是正确的,我需要重写DefaultClusterRenderer中的某个方法。因此,全程: 创建自己的类并从DefaultClusterRenderer扩展它:
public class OwnIconRendered extends DefaultClusterRenderer<AbstractMarker>
方法相当简单,但在我看来,集群开始工作得较慢。所以,这就足够了。我想现在已经太晚了,但是以后你可以看看我的情况,我不得不调用
super().onBeforeClustererItemRendered
嘿!晚些时候。但是添加自定义图标后对集群有什么影响?慢了多少?你能分享一些数字吗?我也在研究类似的问题,我想在开始之前了解一下它会对性能造成多大的影响@瓦西洛瓦图尔
@Override
protected void onBeforeClusterItemRendered(AbstractMarker item,
MarkerOptions markerOptions) {
markerOptions.icon(item.getMarker().getIcon());
}