feat: Map controller basics
This commit is contained in:
parent
c923f8825d
commit
756b760d5c
2 changed files with 37 additions and 0 deletions
32
app/src/main/java/eu/ztsh/garmin/mapbox/MapControl.kt
Normal file
32
app/src/main/java/eu/ztsh/garmin/mapbox/MapControl.kt
Normal file
|
@ -0,0 +1,32 @@
|
|||
package eu.ztsh.garmin.mapbox
|
||||
|
||||
import android.content.res.Resources
|
||||
import android.util.Log
|
||||
import com.mapbox.maps.EdgeInsets
|
||||
import com.mapbox.maps.MapView
|
||||
import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateBearing
|
||||
import com.mapbox.maps.plugin.viewport.data.FollowPuckViewportStateOptions
|
||||
import com.mapbox.maps.plugin.viewport.state.FollowPuckViewportState
|
||||
import com.mapbox.maps.plugin.viewport.viewport
|
||||
|
||||
class MapControl(private val mapView: MapView, private val resources: Resources) {
|
||||
|
||||
fun follow() {
|
||||
val viewportPlugin = mapView.viewport
|
||||
// transition to followPuckViewportState with default transition
|
||||
val followPuckViewportState: FollowPuckViewportState = viewportPlugin.makeFollowPuckViewportState(
|
||||
FollowPuckViewportStateOptions.Builder()
|
||||
// .bearing(FollowPuckViewportStateBearing.Constant(0.0))
|
||||
.padding(EdgeInsets(200.0 * resources.displayMetrics.density, 0.0, 0.0, 0.0))
|
||||
.build()
|
||||
)
|
||||
val immediateTransition = viewportPlugin.makeImmediateViewportTransition()
|
||||
viewportPlugin.transitionTo(followPuckViewportState, immediateTransition) { success ->
|
||||
Log.d(TAG, "follow: $success")
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val TAG = "MAPCTRL"
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue