Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 06e63202c8 | |||
| f692c07d71 | |||
| 2c264ecd66 | |||
| 77331dd2a2 | |||
| c73a8c8e8e |
@@ -46,7 +46,7 @@ abstract class AbstractMapManager<TMapView : View, TMap : Any, TLocation : Any>(
|
||||
this.mapListener = mapListener
|
||||
}
|
||||
|
||||
open fun onCreate(savedInstanceState: Bundle) = Unit
|
||||
open fun onCreate(savedInstanceState: Bundle?) = Unit
|
||||
|
||||
open fun onDestroy() = Unit
|
||||
|
||||
@@ -67,6 +67,8 @@ abstract class AbstractMapManager<TMapView : View, TMap : Any, TLocation : Any>(
|
||||
this.mapListener?.onMapInitialized(map)
|
||||
}
|
||||
|
||||
fun isMapInitialized(): Boolean = this::map.isInitialized
|
||||
|
||||
interface AbstractMapListener<TMapView, TMap, TLocation> {
|
||||
|
||||
fun onMapInitialized(map: TMap)
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ allprojects {
|
||||
google()
|
||||
jcenter()
|
||||
maven {
|
||||
url "https://dl.bintray.com/touchin/touchin-tools"
|
||||
url "https://maven.dev.touchin.ru"
|
||||
metadataSources {
|
||||
artifact()
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.google.android.gms.maps.MapView
|
||||
import com.google.android.gms.maps.model.CameraPosition
|
||||
import com.google.android.gms.maps.model.LatLng
|
||||
import com.google.android.gms.maps.model.LatLngBounds
|
||||
import com.google.android.gms.maps.model.VisibleRegion
|
||||
import ru.touchin.basemap.AbstractMapManager
|
||||
|
||||
@Suppress("detekt.TooManyFunctions")
|
||||
@@ -29,7 +30,7 @@ class GoogleMapManager(mapView: MapView) : AbstractMapManager<MapView, GoogleMap
|
||||
}
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle) {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
mapView.onCreate(savedInstanceState)
|
||||
}
|
||||
@@ -77,10 +78,16 @@ class GoogleMapManager(mapView: MapView) : AbstractMapManager<MapView, GoogleMap
|
||||
|
||||
override fun getCameraTilt(): Float = map.cameraPosition.tilt
|
||||
|
||||
fun getVisibleRegion(): VisibleRegion = map.projection.visibleRegion
|
||||
|
||||
override fun moveCamera(target: LatLng, zoom: Float, azimuth: Float, tilt: Float) {
|
||||
map.moveCamera(CameraUpdateFactory.newCameraPosition(buildCameraPosition(target, zoom, azimuth, tilt)))
|
||||
}
|
||||
|
||||
fun moveCamera(target: LatLng, userRegionZoom: Float) {
|
||||
map.animateCamera(CameraUpdateFactory.newLatLngZoom(target, userRegionZoom))
|
||||
}
|
||||
|
||||
override fun smoothMoveCamera(target: LatLng, zoom: Float, azimuth: Float, tilt: Float) {
|
||||
map.animateCamera(CameraUpdateFactory.newCameraPosition(buildCameraPosition(target, zoom, azimuth, tilt)))
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ import com.yandex.mapkit.map.InputListener
|
||||
import com.yandex.mapkit.map.Map
|
||||
import com.yandex.mapkit.map.MapLoadStatistics
|
||||
import com.yandex.mapkit.map.MapLoadedListener
|
||||
import com.yandex.mapkit.map.MapObjectCollection
|
||||
import com.yandex.mapkit.map.VisibleRegion
|
||||
import com.yandex.mapkit.mapview.MapView
|
||||
import com.yandex.mapkit.user_location.UserLocationObjectListener
|
||||
import com.yandex.mapkit.user_location.UserLocationView
|
||||
@@ -91,6 +93,8 @@ class YandexMapManager(
|
||||
mapListener?.onMapTap(point)
|
||||
}
|
||||
|
||||
fun getCameraPosition(): CameraPosition = map.cameraPosition
|
||||
|
||||
override fun getCameraTarget(): Point = map.cameraPosition.target
|
||||
|
||||
override fun getCameraZoom(): Float = map.cameraPosition.zoom
|
||||
@@ -99,6 +103,10 @@ class YandexMapManager(
|
||||
|
||||
override fun getCameraTilt(): Float = map.cameraPosition.tilt
|
||||
|
||||
fun moveCamera(target: CameraPosition) {
|
||||
map.move(target)
|
||||
}
|
||||
|
||||
override fun moveCamera(target: Point, zoom: Float, azimuth: Float, tilt: Float) {
|
||||
map.move(CameraPosition(target, zoom, azimuth, tilt), Animation(Animation.Type.LINEAR, CAMERA_ANIMATION_DURATION), null)
|
||||
}
|
||||
@@ -152,9 +160,9 @@ class YandexMapManager(
|
||||
userLocationAccuracyCirceColor = accuracyCircleColor
|
||||
}
|
||||
|
||||
fun getVisibleRegion() = map.visibleRegion
|
||||
fun getVisibleRegion(): VisibleRegion = map.visibleRegion
|
||||
|
||||
fun getMapObjects() = map.mapObjects
|
||||
fun getMapObjects(): MapObjectCollection = map.mapObjects
|
||||
|
||||
interface MapListener : AbstractMapListener<MapView, Map, Point>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user