Google Maps Android API v2 をアプリに統合すると、GoogleMap のマーカーで奇妙な動作が発生します。OnMarkerClickListener#onMarkerClick(マーカー マーカー) は、InfoWindow の非表示後に呼び出されません。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 を非表示にした後、マーカーのクリック イベントを処理するのを手伝ってもらえますか?