【问题标题】:Xamarin Forms Maps Pin CalloutXamarin 表单地图引脚标注
【发布时间】:2019-07-17 10:35:15
【问题描述】:

我跟随 this article 在我的 Xamarin.Forms PCL 项目中为 iOS 创建了一个自定义 MapRenderer,它本身运行良好。但是,我正在拼命寻找一种方法来对Pin 标注上的点击/点击事件做出反应(即,当您点击Pin 本身时弹出的信息标志)。我知道在 iOS 级别上有一个 OnCalloutAccessoryControlTapped,但是有没有办法对 PCL 级别的标注点击/点击做出反应?我唯一能找到的是Pin.Clicked 事件。

pin.Clicked += async(sender, e) => {
    await DisplayAlert("Test", "Test", "test");
};

标注是否有类似的事件(不知道它在 Android 上叫什么,抱歉),当您单击图钉时会打开它?

【问题讨论】:

    标签: c# ios xamarin xamarin.forms


    【解决方案1】:

    在Android中,CustomMapRenderer类实现了GoogleMap.IInfoWindowAdapter接口,有GetInfoWindowGetInfoContents方法来自定义信息窗口,当用户点击信息窗口时,有一个事件OnInfoWindowClick,此方法打开 Web 浏览器并导航到存储在 Marker 的检索到的 CustomPin 实例的 Url 属性中的地址。 你可以参考:Custom Map Pin on Android

    【讨论】:

    • 问题是:我希望在 PCL 级别(即在公共/共享代码上)而不是 iOS 或 Android 上进行该事件。
    • 哈哈,我真是个白痴,Pin.Clickedevent 正是我想要的,诚然这有点不直观,因为我认为它会在 pin tap 而不是 pin-label-taps 上触发.
    【解决方案2】:

    好的,对于阅读本文的每个人都有相同的想法/问题:

    只要用户点击Pin 的标签并且NOT点击Pin 本身,就会触发Pin.Clicked 事件!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多