在用户最后一次触摸屏幕时查找经度和纬度的最佳方法是什么?

What is the best way to find longitude and latitude at the last screen touch of the user?

我使用 ArcGIS 地图 开发了一个 android 应用程序,我想做的是获取 lat 和 long[= 最后一个屏幕触摸 的 23=]。 我在Esri论坛上搜索了资料,找到了建议使用的解决方案:

   fun getLocation() {
    var viewPoint= mapView.getCurrentViewpoint(Viewpoint.Type.CENTER_AND_SCALE)
    var scale=viewPoint.targetScale
    //var long=??
    //var lat=??

}

但我在用户最后一次触摸时只发现了 sacle(放大或缩小)我想要 还有它的纬度和经度。

如何从视点 class 或地图视图 class

获取它们

感谢您的帮助。

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;