From bce64ef4f702c351d349881704d92f724e90239f Mon Sep 17 00:00:00 2001 From: Iván Ávalos Date: Sun, 16 Jan 2022 23:34:36 -0600 Subject: Fixed initial zoom issue and refactored layers into MapLayer in shared module --- .../TrackerMap/client/models/MapLayer.kt | 26 +++++++++++++++++++++- .../mx/trackermap/TrackerMap/utils/MapCalculus.kt | 2 ++ 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'shared/src/commonMain/kotlin/mx/trackermap/TrackerMap') diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/MapLayer.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/MapLayer.kt index 64381d9..ff0489e 100644 --- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/MapLayer.kt +++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/client/models/MapLayer.kt @@ -5,4 +5,28 @@ data class MapLayer( val minZoom: Int, val maxZoom: Int, val attribution: String -) \ No newline at end of file +) { + enum class Type { + STREETS, + SATELLITE + } + + companion object { + val layers = mapOf( + Type.STREETS to MapLayer( + url = "https://a.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png", + minZoom = 1, + maxZoom = 23, + attribution = "© OpenStreetMap France | © OpenStreetMap contributors" + ), + Type.SATELLITE to MapLayer( + url = "https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", + minZoom = 1, + maxZoom = 20, + attribution = "Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community" + ) + ) + + val defaultLayer = layers[Type.STREETS]!! + } +} \ No newline at end of file diff --git a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/MapCalculus.kt b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/MapCalculus.kt index b1a6444..d4d69fa 100644 --- a/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/MapCalculus.kt +++ b/shared/src/commonMain/kotlin/mx/trackermap/TrackerMap/utils/MapCalculus.kt @@ -32,6 +32,8 @@ class MapCalculus { 20 -> 533.182395965 21 -> 266.5911979825 22 -> 133.29559899125 + 23 -> 66.647799495625 + 24 -> 33.3238997478125 else -> null } } -- cgit v1.2.3