如何使用android-maps-utils更改点击的标记图标?

前端之家收集整理的这篇文章主要介绍了如何使用android-maps-utils更改点击的标记图标?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的 Android项目中,我使用 android-maps-utils库将聚类应用于地图视图上的一堆标记.只要点击一个标记,我就会通过 onClusterItemClick收到通知,这样我就可以采取行动了.
public interface OnClusterItemClickListener<T extends ClusterItem> {
    public boolean onClusterItemClick(T item);
}

现在我想让用户知道点击了哪个标记.简单的视觉反馈将是改变标记图标的(颜色).可以通过MarkerOptions对象设置图标,该对象可以在onBeforeClusterItemRendered(T item,MarkerOptions markerOptions)中访问,例如:

markerOptions.icon(
    BitmapDescriptorFactory.defaultMarker(
        BitmapDescriptorFactory.HUE_YELLOW));

如果我可以访问Marker对象本身,例如onMarkerClick (Marker marker),我可以通过setIcon更改图标.

如何更改点击的标记图标?

有关

> How to highlight the selected cluster item?
> Android Google Map V2: How to change previous clicked marker’s icon when clicked on another marker

解决方法

我注意到DefaultClusterRenderer提供了检索与ClusterItem关联的Marker对象的方法.因为我使用自定义渲染器,所以我能够访问所需的Marker对象,如下所示:
mSelectedMarker = mCustomClusterItemRenderer.getMarker(mSelectedClusterItem);

这允许我更改onClusterItemClick()中的图标:

private void updateSelectedMarker() {
    if (mSelectedMarker != null) {
        mSelectedMarker.setIcon(
                BitmapDescriptorFactory.defaultMarker(
                        BitmapDescriptorFactory.HUE_YELLOW));
    }
}

猜你在找的Android相关文章