我正在构建一个简单的应用程序,用户可以在谷歌地图上自由绘制并选择其中的标记。我正在使用Xamarin表单来构建这个应用程序。
我尝试过在谷歌地图( Google )上随意绘制一些东西,但在网页视图内的移动屏幕上,它不起作用。
所以,我使用了一个Xamarin插件在屏幕上生成Google地图,但是这个插件https://github.com/amay077/Xamarin.Forms.GoogleMaps
没有徒手绘图,但它有一个多线绘图工具与给定的位置。
我的想法是,如果我可以在屏幕上重叠一个图层,并在该层上使用darw徒手,并将屏幕上的这些点转换为Maps Lat和Lon,那么就可以将这些Lat/Lon传递给Map插件,在地图上为我绘制多边形线。
为了在地图上绘图,我使用了另一个Xamarin forms SkiaSharp插件,并且使它的背景变得透明,因此,它给人的感觉就像我们只是在直接绘制地图。
所以,直到这里一切都是完美的,我也得到了地图的各个方面的Lat/Lon。
所以,我有
上都有点。
问题是我不知道如何转换
我在这里找到的解决方案都与android或基于web的谷歌地图api有关,
我需要知道如何将我的屏幕点转换成Google /Lon
我几乎没有什么想法,但不确定它们将如何运作。
Coordinates?
发布于 2019-11-12 14:56:06
Google有一个投影类,它的方法可用于将屏幕坐标转换为Lat/Long (如果需要,还可以返回):
yourGoogleMapInstance.Projection.FromScreenLocation(APointObject) iOS的MapKit具有类似的功能(C# MKMapView.ConvertPoint = ObjC convertPoint:toCoordinateFromView:):
https://stackoverflow.com/questions/58816089
复制相似问题