0

我使用 ArcGIS 地图开发了一个 android 应用程序,我试图做的是获得最后一次屏幕触摸纬度和经度。我在 Esri 论坛中搜索了信息,并找到了建议使用它的解决方案:

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

}

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

我如何从视点类或地图视图类中获取它们

谢谢你的帮助。

4

1 回答 1

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;
于 2021-10-20T17:25:16.987 回答