我正在使用Xamarin并正在编写Google Maps应用程序。我有一些代码在用户点击Map InfoWindow时执行。这是代码:
void HandleInfoWindowClick (object sender, GoogleMap.InfoWindowClickEventArgs e)
{
Toast.MakeText (this, "HandleInfoWindowClick", ToastLength.Short).Show ();
}
我使用以下代码设置此处理程序:
_map.MarkerClick += HandleMarkerClick;
每当我点击InfoWindow时,该方法执行两次,Toast也会显示两次。
这是为什么?如何修复此代码,以便HandleInfoWindowClick方法仅在单击时执行一次?
提前致谢
答案 0 :(得分:0)
您所说的是 HandleInfoWindowClick ,但此处您已显示 MarkerClick 的事件绑定。
你可以试试这个:
_map.InfoWindowClick -= HandleInfoWindowClick; // first detach the handler if already attached
_map.InfoWindowClick += HandleInfoWindowClick;