Vas*_*tur 15 android google-maps markerclusterer
我正在使用GoogleMaps群集.我有4种不同类型的标记,每种标记从一个抽象类扩展,每个标记都有自己的图标,并在MarkerOptions字段中定义.我将ClusterManager用于此抽象类.我刚刚使用的时候
//marker is instance of one of extended classes and has abstract class type
clusterManager.addItem(marker);
Run Code Online (Sandbox Code Playgroud)
集群后,它将图标设置为默认值.我怎么解决这个问题?我试图使用这样的东西:
//marker is abstract marker, getMarker returns the MarkerOptions of this marker
clusterManager.getMarkerCollection().addMarker(marker.getMarker());
Run Code Online (Sandbox Code Playgroud)
但它也不起作用,标记在地图上打印了所需的图标,但没有聚类.
我应该在我的抽象类中创建一些创建方法,还是有一些方法可以从DefaultClusterRenderer扩展?我没有使用谷歌或学习谷歌地图lib找到一些有关它的信息.
谢谢你的帮助!
Vas*_*tur 25
所以,这是我的愚蠢.再次,它表明,我应该更加关注,研究图书馆.如果有人有兴趣回答,这里是:我是正确的假设,我需要覆盖DefaultClusterRenderer中的某些方法.所以,完整的方法:创建自己的类并从DefaultClusterRenderer扩展它:
public class OwnIconRendered extends DefaultClusterRenderer<AbstractMarker>
Run Code Online (Sandbox Code Playgroud)
然后覆盖方法onBeforeClusterItemRendered:
@Override
protected void onBeforeClusterItemRendered(AbstractMarker item,
MarkerOptions markerOptions) {
markerOptions.icon(item.getMarker().getIcon());
}
Run Code Online (Sandbox Code Playgroud)
方式相当简单,但在我看来,聚类开始变慢.所以,这就够了.
| 归档时间: |
|
| 查看次数: |
14669 次 |
| 最近记录: |