如何在ios的Xamarin谷歌地图组件中处理点击事件

我正在使用xamarin googel地图组件在iOS中开发谷歌地图应用程序。 当用户触摸地图时,我想获取用户触摸的地图的位置。 任何想法。

提前致谢。

MapView有一个tapped事件,以及多个Touches *事件

mapView.Tapped += delegate(object sender, GMSCoordEventArgs e) { Console.WriteLine("tapped at " + e.Coordinate.Latitude + "," + e.Coordinate.Longitude); }; 

GoogleMap:使用和不使用ClusterManager的标记点击事件

对于Xamarin.iOS,Google Map将使用TappedMarker事件。 它可能以三种不同的方式使用。


第一种实施方式:


您可以直接使用MapView Delegate事件didTapMarker 。 它将与GMUClusterManager一起使用

  [Export("mapView:didTapMarker:")] public bool TappedMarker(MapView mapView, Marker marker) { var id = marker.Title; Console.WriteLine(id); return true; } 

第二种实施方式:


对于您的GoogleMap,我们可以直接使用TappedMarker方法

  this.GMapView.TappedMarker = (map, marker) => { var id = marker.Title; Console.WriteLine(id); return true; } 

第三种实施方式:


对于您的GoogleMap,您可以使用自己的TappedMarker事件自定义方法。

  this.GMapView.TappedMarker = markerClicked; 

markerClicked的定义在这里

  bool markerClicked(MapView map, Marker marker) { var id = marker.Title; Console.WriteLine(id); return true; }