当用户触摸标记时,我出于某种原因想要交换该标记(通过使用另一个图形)。不幸的是,当我安装以下(实验性)onMarkerClick
处理程序时,Android GoogleMaps v2 确实出现了一种奇怪的行为:
@Override
public boolean onMarkerClick(final Marker marker) {
LatLng p = marker.getPosition();
marker.remove();
Marker m = mMap.addMarker(new MarkerOptions().position(p).title("new"));
m.showInfoWindow();
return true;
}
观察:
- 第一次单击(在“原始”标记上)调用事件处理程序,交换标记并正确显示信息窗口
- 第二次点击(在“新”标记上)既不触发
onMapClick
也不触发onMarkerClick
。此外,信息窗口消失(意外行为) - 由于对同一标记的所有后续单击都不会触发任何事件处理程序,因此信息窗口将保持隐藏状态,直到用户触摸地图上的空闲空间然后再次触摸该标记。同样,标记被交换并出现信息窗口,但所有对标记的连续点击都将被忽略,如前所述。
有人可以确认这种行为吗?我确实认为它是一个错误。有什么解决方法吗?