【发布时间】:2013-04-07 01:18:51
【问题描述】:
当用户触摸一个标记时,我出于某种原因想要交换那个标记(通过使用另一个图形)。不幸的是,当我安装以下(实验性)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。此外,信息窗口消失(意外行为) - 由于对同一标记的所有后续单击都不会触发任何事件处理程序,因此信息窗口将保持隐藏状态,直到用户触摸地图上的空闲空间,然后再次触摸该标记。同样,标记被交换并出现信息窗口,但所有连续单击标记都将被忽略,如前所述。
有人可以确认这种行为吗?我确实认为这是一个错误。有什么解决办法吗?
【问题讨论】:
标签: android google-maps-markers google-maps-android-api-2