Чтобы получить данные объекта из слоя, присутствующего на GeoServer, вам нужно вызвать «Сервис WMS»
Затем добавьте детали слоя, такие как имя слоя, версия, формат проекции и уровень масштабирования.
val layer = selectedCity.getBuildingLayerName()
val tile = projection.getTileFromMercator(projection.getMercatorXFromPixel(rtnPoint.x))
val tileY = projection.getTileFromMercator(projection.getMercatorYFromPixel(rtnPoint.y))
GlobalScope.launch {
val buildingFeatureData =getBuildingFeatureData(layer, tile, tileY, projection.zoomLevel.toInt())
activity!!.runOnUiThread {
Toast.makeText(activity!!.applicationContext, "$buildingFeatureData", Toast.LENGTH_LONG).show()
}
}
suspend fun getBuildingFeatureData(layer: String, x:Int, y:Int, zoom:Int):String {
return WebMercatorWMSFeatureExtractor(layer,"1.3.0","EPSG:3857").getFeatureData(
MapLayers.getMapsBaseUrl(ApiHelper.apiEndPoint),
"application/json",
x,y,
zoom
)
}