在用户最后一次触摸屏幕时查找经度和纬度的最佳方法是啥?
Posted
技术标签:
【中文标题】在用户最后一次触摸屏幕时查找经度和纬度的最佳方法是啥?【英文标题】:What is the best way to find longitude and latitude at the last screen touch of the user?在用户最后一次触摸屏幕时查找经度和纬度的最佳方法是什么? 【发布时间】:2021-11-26 10:04:17 【问题描述】:我使用 ArcGIS 地图 开发了一个 android 应用程序,我试图做的是获得 最后一次屏幕触摸的纬度和经度 /强>。 我在 Esri 论坛中搜索了信息,找到了一个建议使用它的解决方案:
fun getLocation()
var viewPoint= mapView.getCurrentViewpoint(Viewpoint.Type.CENTER_AND_SCALE)
var scale=viewPoint.targetScale
//var long=??
//var lat=??
但我在用户最后一次触摸时只找到了 sacle(放大或缩小)我想要 还有它的经纬度。
我如何从视点类或地图视图类中获取它们
感谢您的帮助。
【问题讨论】:
【参考方案1】:GetCurrentViewpoint
返回的视点使用 mapView 的 SpatialReference(在您的情况下可能是 EPSG:3857)。
不确定 kotlin,但这是我使用 ArcGIS .net SDK 转换它的方式:
var viewPoint = mapView.GetCurrentViewpoint(ViewpointType.CenterAndScale);
var latlon = (MapPoint)GeometryEngine.Project(viewPoint.TargetGeometry, SpatialReferences.Wgs84);
var lat = latlon.Y;
var lon = latlon.X;
【讨论】:
以上是关于在用户最后一次触摸屏幕时查找经度和纬度的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章