微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用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));
    }
}

原文地址:https://www.jb51.cc/android/316279.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐