GoogleMaps 标记 OnClick - Xamarin

GoogleMaps marker OnClick - Xamarin

大家好,我正在使用 GoogleMaps Gms.Maps class 在我的应用程序中显示地图 (Xamarin.Android)。

我正在尝试做到这一点,当您点击一个标记时,它会将您带到我的移动应用程序上的特定页面。然而,这些标记似乎已经具有将其居中并显示标题的点击功能。我没有创建它,也找不到它(见下文)

知道如何编辑此函数或创建新函数吗?

谢谢,

在您的 ActivityFragment 或单独的 class 中实施 Android.Gms.Maps.GoogleMap.IOnMarkerClickListener,并通过 [=15] 将其分配给 GoogleMap 实例=]方法。

示例:

public class MyMarkerClickListener : Java.Lang.Object, IOnMarkerClickListener
{
    Context context;
    public MyMarkerClickListener(Context context)
    {
        this.context = context;
    }

    public bool OnMarkerClick(Marker marker)
    {
        Toast.MakeText(context, $"{marker.Title} was tapped", ToastLength.Long).Show();
        return true;
    }
}

用法:

googleMap.SetOnMarkerClickListener(new MyMarkerClickListener(this));

注意:通常监听器会在 OnMapReady 回调中分配

Google 文档:GoogleMap.OnMarkerClickListener

Returns: true if the listener has consumed the event (i.e., the default behavior should not occur); false otherwise (i.e., the default behavior should occur). The default behavior is for the camera to move to the marker and an info window to appear.

@SushiHangover 的回答是正确的,但更简单的方法是添加标记点击事件:

Googlemapsobj.MarkerClick+= (s,e)=>
{//yourcodeforNextPage };

在这里您不必担心默认行为,因为它会在单击后立即离开页面。