Google Map.Marker Click事件多次被触发

时间:2015-02-03 16:17:43

标签: android google-maps xamarin xamarin.android

我使用的是Xamarin Android,我在地图上有不同的Marker,当我选择其中一个Marker时,相机移动到Marker并打开InfoWindow,现在当我点击标记很多事件被触发,如六,地图移动到标记,它打开infowindow但它立即关闭它。这是我使用的代码:

            _map.Clear ();
            var infoWindow = new InformationWindow ();
            _map.SetInfoWindowAdapter(infoWindow);
            _map.MarkerClick += HandleMarkerClick;
.
.
void HandleMarkerClick (object sender, GoogleMap.MarkerClickEventArgs e)
        {
            Console.WriteLine ("CLICK MArker"+e.Marker.Id);
        }

InfoWindowClick也是如此,顺便说一下,我现在只想弄清楚这种行为的原因。

1 个答案:

答案 0 :(得分:1)

您是否已将markerClickEventArgs.Handled设为true

Marker Click Events的示例代码如下:

private void MapOnMarkerClick(object sender, GoogleMap.MarkerClickEventArgs markerClickEventArgs)
{
    markerClickEventArgs.Handled = true;
    Marker marker = markerClickEventArgs.P0;
    if (marker.Id.Equals(MyMarkerId)) // The ID of a specific marker the user clicked on.
    {
        _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(new LatLng(20.72110, -156.44776), 13));
    }
    else
    {
        Toast.MakeText(this, String.Format("You clicked on Marker ID {0}", marker.Id), ToastLength.Short).Show();
    }
}

有关详细信息,请参阅here