GoogleMaps 标记 OnClick - Xamarin
GoogleMaps marker OnClick - Xamarin
大家好,我正在使用 GoogleMaps Gms.Maps class 在我的应用程序中显示地图 (Xamarin.Android)。
我正在尝试做到这一点,当您点击一个标记时,它会将您带到我的移动应用程序上的特定页面。然而,这些标记似乎已经具有将其居中并显示标题的点击功能。我没有创建它,也找不到它(见下文)
知道如何编辑此函数或创建新函数吗?
谢谢,
在您的 Activity
、Fragment
或单独的 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 };
在这里您不必担心默认行为,因为它会在单击后立即离开页面。
大家好,我正在使用 GoogleMaps Gms.Maps class 在我的应用程序中显示地图 (Xamarin.Android)。
我正在尝试做到这一点,当您点击一个标记时,它会将您带到我的移动应用程序上的特定页面。然而,这些标记似乎已经具有将其居中并显示标题的点击功能。我没有创建它,也找不到它(见下文)
知道如何编辑此函数或创建新函数吗?
谢谢,
在您的 Activity
、Fragment
或单独的 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 };
在这里您不必担心默认行为,因为它会在单击后立即离开页面。