我将 Google Maps Android API v2 集成到我的应用程序中,并且在 GoogleMap 中的标记有奇怪的行为。在 InfoWindow 隐藏后不会调用 OnMarkerClickListener#onMarkerClick(Marker marker)。它不取决于我如何显示 InfoWindow (既不是marker.showInfoWindow()也不是
@Override
public boolean onMarkerClick(final Marker marker) {
.....
return true;}
不起作用。在我通过触摸或更改缩放来更改相机位置后,它会工作一次。我在 GoogleMapDemo 中看到的相同行为。
这是我的代码
private GoogleMap mMap;
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.map_address_activity);
setUpMapIfNeeded(); // from oficial sample
mMap.setOnMapClickListener(new OnMapClickListener() {
@Override
public void onMapClick(LatLng point) {
mMap.clear();
mMap.addMarker(new MarkerOptions().position(point).title("Marker"));
final CameraPosition cameraPosition = new CameraPosition.Builder().target(point).zoom(mMap.getCameraPosition().zoom).build();
mMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
});
mMap.setOnMarkerClickListener(new OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
Log.e("TESTING", "on Marker click: " + marker.getTitle());
if (!marker.isInfoWindowShown())
marker.showInfoWindow();
else
marker.hideInfoWindow();
return true;
}
});
}
隐藏 InfoWindow 后,您能帮我处理标记上的点击事件吗?