【问题标题】:how to handle click event in Xamarin google map component for ios如何在 iOS 的 Xamarin 谷歌地图组件中处理点击事件
【发布时间】:2014-05-15 07:56:04
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: ios google-maps map xamarin.android xamarin


    【解决方案1】:

    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;
        }
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 1970-01-01
        • 1970-01-01
        • 2015-06-06
        • 1970-01-01
        • 2020-04-25
        相关资源
        最近更新 更多