问题描述
在 Xamarin 中,如何将 OnInfoWindowClickListener 添加到 Google 地图?
In Xamarin, how do I add an OnInfoWindowClickListener to a Google map?
我读过:
您可以使用 OnInfoWindowClickListener 来监听点击事件一个信息窗口.要在地图上设置此侦听器,请调用GoogleMap.setOnInfoWindowClickListener(OnInfoWindowClickListener).当用户单击信息窗口时,onInfoWindowClick(Marker) 将被称为
资源在这里:https://developers.google.com/maps/documentation/android/infowindows
这是我添加的接口代码:
This is the interface code I have added:
public interface onInfoWindowClickListener {
void onInfoWindowClick(Marker marker);
}
我添加了这个方法:
public void onInfoWindowClick(Marker marker)
{
//Toast.MakeText (MapWithMarkersActivity.this, String.Format ("InfoWindow is Clicked"), ToastLength.Short).Show ();
}
我在这行代码中遇到错误:
I am getting an error at this line of code:
_map.SetOnInfoWindowClickListener (new onInfoWindowClickListener());
错误是这样的:
无法创建抽象类或接口的实例'onInfoWindowClickListener'
我可以帮忙吗?
提前致谢
推荐答案
查看适用于 Google 地图的 Xamarin 文档.这应该向您展示如何设置您的点击侦听器.
Take a look at the Xamarin Docs for Google Maps. This should show you exactly how to setup your click listener.
以下是您想要实现以正确处理信息窗口点击的代码.关键行是 _map.InfoWindowClick += MapOnInfoWindowClick;.
Here is the code that you would want to implement to get your info window click handled properly. the key line is _map.InfoWindowClick += MapOnInfoWindowClick;.
private bool SetupMapIfNeeded()
{
if (_map == null)
{
_map = _mapFragment.Map;
if (_map != null)
{
_map.InfoWindowClick += MapOnInfoWindowClick;
return true;
}
return false;
}
return true;
}
private void MapOnInfoWindowClick (object sender, GoogleMap.InfoWindowClickEventArgs e)
{
Marker myMarker = e.P0;
// Do something with marker.
}
这篇关于向 Google 地图添加侦听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!