首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将X和Y屏幕转换为Lat & LOn

如何将X和Y屏幕转换为Lat & LOn
EN

Stack Overflow用户
提问于 2019-11-12 09:53:38
回答 1查看 281关注 0票数 0

我正在构建一个简单的应用程序,用户可以在谷歌地图上自由绘制并选择其中的标记。我正在使用Xamarin表单来构建这个应用程序。

我尝试过在谷歌地图( Google )上随意绘制一些东西,但在网页视图内的移动屏幕上,它不起作用。

所以,我使用了一个Xamarin插件在屏幕上生成Google地图,但是这个插件https://github.com/amay077/Xamarin.Forms.GoogleMaps

没有徒手绘图,但它有一个多线绘图工具与给定的位置。

我的想法是,如果我可以在屏幕上重叠一个图层,并在该层上使用darw徒手,并将屏幕上的这些点转换为Maps Lat和Lon,那么就可以将这些Lat/Lon传递给Map插件,在地图上为我绘制多边形线。

为了在地图上绘图,我使用了另一个Xamarin forms SkiaSharp插件,并且使它的背景变得透明,因此,它给人的感觉就像我们只是在直接绘制地图。

所以,直到这里一切都是完美的,我也得到了地图的各个方面的Lat/Lon。

所以,我有

  1. SkiaSharp on屏幕覆盖于谷歌地图上,这使得在这一层上的绘图非常完美,并且地图在背景中完全可见,看上去就像我们在地图的
  2. 上绘制Lat/Lon,地图的所有四面(上、左、右、下)
  3. 在SkiaSharp屏幕

上都有点。

问题是我不知道如何转换

我在这里找到的解决方案都与android或基于web的谷歌地图api有关,

我需要知道如何将我的屏幕点转换成Google /Lon

我几乎没有什么想法,但不确定它们将如何运作。

Coordinates?

  1. 也许可以使用xamarin.forms.maps,并构建一些中间件来在屏幕点和xamarin.forms.maps之间进行通信以获取坐标,这可能对iOS也有帮助,因此,我们将使用默认地图获取坐标,并将这些坐标传递给谷歌地图插件,在地图上创建多边形,这可能是一个基于服务器的API,我们可以将屏幕大小、点、映射4面坐标和API返回给我们Lat/Lon、
  2. ,或者在应用程序中将X、Y点转换为
EN

回答 1

Stack Overflow用户

发布于 2019-11-12 14:56:06

Google有一个投影类,它的方法可用于将屏幕坐标转换为Lat/Long (如果需要,还可以返回):

代码语言:javascript
复制
yourGoogleMapInstance.Projection.FromScreenLocation(APointObject) 

iOS的MapKit具有类似的功能(C# MKMapView.ConvertPoint = ObjC convertPoint:toCoordinateFromView:):

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58816089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档