Warm tip: This article is reproduced from serverfault.com, please click

android-将侦听器添加到Google Map

(android - Adding a Listener to a Google Map)

发布于 2014-01-19 10:28:14

在Xamarin中,如何将OnInfoWindowClickListener添加到Google map?

我读过:

你可以使用OnInfoWindowClickListener来侦听信息窗口上的单击事件。要在 map上设置此侦听器,请调用GoogleMap.setOnInfoWindowClickListener(OnInfoWindowClickListener)。当用户单击信息窗口时,将调用onInfoWindowClick(Marker)

资源在这里:https : //developers.google.com/maps/documentation/android/infowindows

这是我添加的接口代码:

public interface onInfoWindowClickListener {
    void onInfoWindowClick(Marker marker);
}

我添加了此方法:

public void onInfoWindowClick(Marker marker)
{
    //Toast.MakeText (MapWithMarkersActivity.this, String.Format ("InfoWindow is Clicked"), ToastLength.Short).Show ();
}

我在这行代码中遇到错误:

_map.SetOnInfoWindowClickListener (new onInfoWindowClickListener());

错误是这样的:

无法创建抽象类或接口“ onInfoWindowClickListener”的实例

我可以帮忙吗?

提前致谢

Questioner
user22707
Viewed
0
Mike Stonis 2014-01-20 00:49:18

看一下Google MapsXamarin文档这应该确切地向你显示如何设置你的点击侦听器。

这是你要实现以正确处理信息窗口单击的代码。关键行是_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.
}