当用户点击Xamarin.Forms中的Map时,如何获取坐标?

时间:2015-04-12 18:10:19

标签: xamarin xamarin.forms

在我的Xamarin.Forms(PCL项目)中,当用户点击地图时,我想获得坐标(lat& long),但我无法在 {{3}中找到任何点击事件} 类。我认为使用TapGestureRecognizer类的对象在这种情况下无济于事。

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

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

感谢。

2 个答案:

答案 0 :(得分:4)

我实施了简单的扩展地图控制,为所有三个平台提供了点按位置。你可以看看here。它的纯样本代码,不是用于制作,对我来说很好,但如果你有任何问题,请告诉我。

答案 1 :(得分:1)

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

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();
}