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

JJD*_*JJD 8 android google-maps-markers android-maps-utils

在我的Android项目中,我使用android-maps-utils库将聚类应用于地图视图上的一堆标记.只要点击一个标记,我就会得到通知,onClusterItemClick所以我可以做一些动作.

public interface OnClusterItemClickListener<T extends ClusterItem> {
    public boolean onClusterItemClick(T item);
}
Run Code Online (Sandbox Code Playgroud)

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

markerOptions.icon(
    BitmapDescriptorFactory.defaultMarker(
        BitmapDescriptorFactory.HUE_YELLOW));
Run Code Online (Sandbox Code Playgroud)

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

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


有关

JJD*_*JJD 13

我注意到DefaultClusterRenderer提供了检索Marker与a关联的对象的方法ClusterItem.因为我使用自定义渲染器无论如何我能够访问所需的Marker对象,如下所示:

mSelectedMarker = mCustomClusterItemRenderer.getMarker(mSelectedClusterItem);
Run Code Online (Sandbox Code Playgroud)

这允许我在以下内容中更改图标onClusterItemClick():

private void updateSelectedMarker() {
    if (mSelectedMarker != null) {
        mSelectedMarker.setIcon(
                BitmapDescriptorFactory.defaultMarker(
                        BitmapDescriptorFactory.HUE_YELLOW));
    }
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

4142 次

最近记录:

7 年 前