Android在点击时更改谷歌地图标记图标

标签 android google-maps

我想在点击时更改谷歌地图中的标记图标。我可以通过重写 onMarkerClick

轻松完成
  @Override
  public boolean onMarkerClick(Marker marker) {

        marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_selected_user_mark_icon));

        return true;
    }

但问题是,假设我已经单击了一个图标已更改的标记。当我单击另一个标记时,它的图标也发生了变化。我实际上只想要单击的标记具有不同的图标。其他人也会有同样的。

最佳答案

保存上次单击的标记,并在第二次单击时将其图标恢复为默认

Marker lastClicked = null;
@Override
public boolean onMarkerClick(Marker marker) {
    if (lastClicked!=null)
        lastClicked.setIcon(<defaultIcon>);
    marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.ic_selected_user_mark_icon));
    lastClicked = marker;
    return true;
}

关于Android在点击时更改谷歌地图标记图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40840866/

相关文章:

android - 在向上滚动时显示画廊

java - 更改 Google Maps V2 中的标记颜色

javascript - 是否可以使用图像或 CSS 渐变来填充 Google map 中的水域?

android - 如何在 Android 中的 onMapReady() 之外添加 Google map 标记?

android - Api Key 将我的应用与 Google map 一起发布到 Google Play

angularjs - (angularjs-google-maps) ng-click 内部标记

Android - 如何在点击通知应用程序且该应用程序已打开时不执行任何操作

android - 以编程方式执行 shell 命令

java - Android:无法从静态上下文中引用非静态方法。使困惑?

android - Expo.Pedometer.getStepCountAsync 的奇怪属性