GoogleMaps标记OnClick - Xamarin

时间:2018-02-23 12:52:49

标签: android xamarin xamarin.android gmsmapview

大家好我正在使用GoogleMaps Gms.Maps类在我的应用上显示地图(Xamarin.Android)。

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

enter image description here

我知道如何编辑这个功能或创建一个新功能吗?

感谢,

2 个答案:

答案 0 :(得分:3)

Android.Gms.Maps.GoogleMap.IOnMarkerClickListenerActivity或单独的课程中实施Fragment,并通过SetOnMarkerClickListener方法将其分配给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

  

返回:   如果侦听器已使用该事件,则为true(即,不应发生默认行为);否则为false(即,应该发生默认行为)。默认行为是相机移动到标记并显示信息窗口。

答案 1 :(得分:0)

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

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

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