【问题标题】:How can I get the coordinates when user tap on a Map in Xamarin.Forms?当用户在 Xamarin.Forms 中点击地图时,如何获取坐标?
【发布时间】:2015-04-15 20:40:16
【问题描述】:

在我的 Xamarin.Forms(PCL 项目)中,我想在用户点击地图时获取坐标(纬度和经度),但在 Map 中找不到任何点击事件班级。我认为在这种情况下使用 TapGestureRecognizer 类的对象将无济于事。

那么我们可以在原生平台上执行任何技术来识别点击并获取该点击区域/点的坐标吗?

任何博客文章或技术都会有所帮助。

谢谢。

【问题讨论】:

  • 重新措辞以使英文更清晰,请考虑在您的帖子中添加更多细节,例如您已经尝试过的其他内容。
  • here 投票支持 Xamarin 添加此功能!

标签: xamarin xamarin.forms


【解决方案1】:

我实现了简单的扩展地图控制来为所有三个平台提供点击位置。你可以看看here。这是纯示例代码,不适用于生产,对我来说可以正常工作,但如果您有任何问题,请告诉我。

【讨论】:

  • 我用 Windows 手机检查过,它可以工作。谢谢:)
【解决方案2】:

在这一点上,我不相信任何用于处理 Xamarin 地图抽象的 nugets 将处理这种非常具体的事情。您可能必须进行本机实现并使用依赖注入模式来进行适当的调用。

PCL 中的接口

interface IMaps
{
   public GetLatLong();
}

原生 Android 实现

How to get the Latitude and Longitude on Map in Android?

原生 iOS 实现

Ios Map: Getting latitude and longitude

在 PCL 中调用您的实现

public point HandleMapOnClick()
{
    return DependencyService.Get<IMaps>().GetLatLong();
}

【讨论】:

    猜你喜欢
    • 2011-05-09
    • 2013-10-05
    • 2015-03-09
    • 2011-06-21
    • 2014-08-05
    • 2011-09-29
    • 1970-01-01
    相关资源
    最近更新 更多