Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions src/main/java/com/mapconductor/arcgis/ArcGISMapView2DController.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.mapconductor.arcgis

import com.mapconductor.core.circle.CIRCLE_TILE_LAYER_ID
import com.mapconductor.core.circle.CircleTiler
import com.mapconductor.core.circle.circleTileRasterLayerState
import com.arcgismaps.LoadStatus
import com.arcgismaps.geometry.SpatialReference
import com.arcgismaps.mapping.Viewpoint
Expand Down Expand Up @@ -145,6 +148,16 @@ class ArcGISMapView2DController(
}
}
}
circleController.tiler =
CircleTiler().apply {
onTemplate = { template, tileSize ->
if (template != null) {
rasterLayerController.upsert(circleTileRasterLayerState(template, tileSize))
} else {
rasterLayerController.removeById(CIRCLE_TILE_LAYER_ID)
}
}
}
}

override fun moveCamera(position: MapCameraPosition) = handleMoveCamera(position)
Expand Down
13 changes: 13 additions & 0 deletions src/main/java/com/mapconductor/arcgis/ArcGISMapViewController.kt
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.mapconductor.arcgis

import com.mapconductor.core.circle.CIRCLE_TILE_LAYER_ID
import com.mapconductor.core.circle.CircleTiler
import com.mapconductor.core.circle.circleTileRasterLayerState
import com.arcgismaps.LoadStatus
import com.arcgismaps.mapping.view.GraphicsOverlay
import com.mapconductor.arcgis.circle.ArcGISCircleOverlayController
Expand Down Expand Up @@ -130,6 +133,16 @@ class ArcGISMapViewController(
}
}
}
circleController.tiler =
CircleTiler().apply {
onTemplate = { template, tileSize ->
if (template != null) {
rasterLayerController.upsert(circleTileRasterLayerState(template, tileSize))
} else {
rasterLayerController.removeById(CIRCLE_TILE_LAYER_ID)
}
}
}
}

override fun moveCamera(position: MapCameraPosition) = handleMoveCamera(position)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ internal object ArcGISOverlayStacking {
* ポリラインのタイル: ポリゴンのタイルの上、マーカーのタイルの下。operational layer なので
* GraphicsOverlay(ネイティブのポリゴン・サークル・ポリライン)より下(ポリゴンのタイルと同じ制約)。
*/
val CIRCLE_TILE = OverlayStacking.Key(OverlayKind.Circle, Int.MIN_VALUE)

val POLYLINE_TILE = OverlayStacking.Key(OverlayKind.Polyline, Int.MIN_VALUE)

fun key(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import com.mapconductor.arcgis.ArcGISOverlayStacking
import com.mapconductor.arcgis.WebMercatorTileLevels
import com.mapconductor.core.controller.OverlayKind
import com.mapconductor.core.polygon.POLYGON_TILE_LAYER_ID
import com.mapconductor.core.circle.CIRCLE_TILE_LAYER_ID
import com.mapconductor.core.polyline.POLYLINE_TILE_LAYER_ID
import com.mapconductor.core.projection.WEB_MERCATOR_MAX_EXTENT_METERS
import com.mapconductor.core.raster.RasterHeaderRuleSet
Expand Down Expand Up @@ -186,6 +187,8 @@ class ArcGISRasterLayerOverlayRenderer(
ArcGISOverlayStacking.MARKER_TILE
} else if (state.id == POLYGON_TILE_LAYER_ID) {
ArcGISOverlayStacking.POLYGON_TILE
} else if (state.id == CIRCLE_TILE_LAYER_ID) {
ArcGISOverlayStacking.CIRCLE_TILE
} else if (state.id == POLYLINE_TILE_LAYER_ID) {
ArcGISOverlayStacking.POLYLINE_TILE
} else {
Expand Down
Loading