向 Google 地图添加侦听器 [英] Adding a Listener to a Google Map

查看:34
本文介绍了向 Google 地图添加侦听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

In Xamarin, how do I add an OnInfoWindowClickListener to a Google map?

我读过:

您可以使用 OnInfoWindowClickListener 来监听点击事件一个信息窗口.要在地图上设置此侦听器,请调用GoogleMap.setOnInfoWindowClickListener(OnInfoWindowClickListener).当用户单击信息窗口时,onInfoWindowClick(Marker) 将被称为

You can use an OnInfoWindowClickListener to listen to click events on an info window. To set this listener on the map, call GoogleMap.setOnInfoWindowClickListener(OnInfoWindowClickListener). When a user clicks on an info window, onInfoWindowClick(Marker) will be called

资源在这里: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'

Cannot create an instance of the abstract class or interface '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 地图添加侦听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆