2gis / mobile-sdk-android-demo

BSD 2-Clause "Simplified" License
16 stars 15 forks source link

Как можно привязать камеру к текущей геопозиции? #173

Closed 1encore closed 1 year ago

1encore commented 1 year ago

Попробовал сделать таким образом

val followController = PlatformLocationFollowController(map)
map.camera.addFollowController(followController)

безуспешно, можете меня поправить или скинуть пример? Не нашел в документации

maxal9999 commented 1 year ago

PlatformLocationFollowController добавляется по дефолту. Чтобы добавить слежение за текущей позицией: https://docs.2gis.com/ru/android/sdk/reference/4.5/ru.dgis.sdk.map.CameraBehaviour https://docs.2gis.com/ru/android/sdk/reference/4.5/ru.dgis.sdk.map.Camera#nav-lvl1--setBehaviour

Если хочется, чтобы на карте отображался маркер геопозиции еще, то нужно еще добавить myLocationSource = MyLocationMapObjectSource(sdkContext, MyLocationDirectionBehaviour.FOLLOW_SATELLITE_HEADING)

map.addSource(myLocationSource)

https://docs.2gis.com/ru/android/sdk/examples/map#nav-lvl1--Моё_местоположение

AlexSuvorov2k commented 8 months ago

Если прямо, то примерно так:

val followPositionMode = if(enabled) FollowPosition(FollowBearing.ON) else null
val cameraBehaviour = CameraBehaviour(followPositionMode, FollowTilt.OFF)
map.camera.setBehaviour(cameraBehaviour)