Android ESRI地图如何从屏幕点获取经纬度
Android ESRI map how to get the latitude longitude from screen point
我知道我们可以使用此
从 ESRI 地图上的触摸位置获取 screenPoint
val screenPoint = android.graphics.Point(motionEvent.x.roundToInt(), motionEvent.y.roundToInt())
我们还可以使用
从 screenPoint
中获取 mapPoint
val mapPoint = mapView?.screenToLocation(screenPoint)
现在如何从这些 screenPoint
或 mapPoint
中获取纬度和经度
您可以获得CoordinateFormatter
如下
val mapPoint = mapView?.screenToLocation(screenPoint)
val toLatitudeLongitude = CoordinateFormatter.toLatitudeLongitude(mapPoint, CoordinateFormatter.LatitudeLongitudeFormat.DECIMAL_DEGREES, 4)
val point = CoordinateFormatter.fromLatitudeLongitude(toLatitudeLongitude, spatialReference)
val latitude = point.x
val longitude = point.y
参考:https://developers.arcgis.com/android/latest/java/sample-code/format-coordinates/
我知道我们可以使用此
从 ESRI 地图上的触摸位置获取screenPoint
val screenPoint = android.graphics.Point(motionEvent.x.roundToInt(), motionEvent.y.roundToInt())
我们还可以使用
从screenPoint
中获取 mapPoint
val mapPoint = mapView?.screenToLocation(screenPoint)
现在如何从这些 screenPoint
或 mapPoint
您可以获得CoordinateFormatter
如下
val mapPoint = mapView?.screenToLocation(screenPoint)
val toLatitudeLongitude = CoordinateFormatter.toLatitudeLongitude(mapPoint, CoordinateFormatter.LatitudeLongitudeFormat.DECIMAL_DEGREES, 4)
val point = CoordinateFormatter.fromLatitudeLongitude(toLatitudeLongitude, spatialReference)
val latitude = point.x
val longitude = point.y
参考:https://developers.arcgis.com/android/latest/java/sample-code/format-coordinates/