Skip to content

Commit

Permalink
Merge pull request #6609 from vector-im/feature/ons/reset_zoom_level_…
Browse files Browse the repository at this point in the history
…on_user_focus

Live Location Sharing - Reset zoom level while focusing a user (PSG-624)
  • Loading branch information
onurays authored Jul 22, 2022
2 parents 442180e + 1032254 commit 6a9b496
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 12 deletions.
1 change: 1 addition & 0 deletions changelog.d/6609.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Live Location Sharing - Reset zoom level while focusing a user
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,12 @@ fun MapboxMap?.zoomToLocation(locationData: LocationData, preserveCurrentZoomLev
} else {
INITIAL_MAP_ZOOM_IN_PREVIEW
}
this?.cameraPosition = CameraPosition.Builder()
.target(LatLng(locationData.latitude, locationData.longitude))
.zoom(zoomLevel)
.build()
this?.easeCamera {
CameraPosition.Builder()
.target(LatLng(locationData.latitude, locationData.longitude))
.zoom(zoomLevel)
.build()
}
}

fun MapboxMap?.zoomToBounds(latLngBounds: LatLngBounds) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import im.vector.app.core.platform.VectorBaseFragment
import im.vector.app.core.utils.DimensionConverter
import im.vector.app.core.utils.openLocation
import im.vector.app.databinding.FragmentLocationLiveMapViewBinding
import im.vector.app.features.location.LocationData
import im.vector.app.features.location.UrlMapProvider
import im.vector.app.features.location.zoomToBounds
import im.vector.app.features.location.zoomToLocation
Expand Down Expand Up @@ -137,11 +138,9 @@ class LocationLiveMapViewFragment @Inject constructor() : VectorBaseFragment<Fra

private fun onSymbolClicked(symbol: Symbol?) {
symbol?.let {
val screenLocation = mapboxMap?.get()?.projection?.toScreenLocation(it.latLng)
views.liveLocationPopupAnchor.apply {
x = screenLocation?.x ?: 0f
y = (screenLocation?.y ?: 0f) - views.liveLocationPopupAnchor.height
}
mapboxMap
?.get()
?.zoomToLocation(LocationData(it.latLng.latitude, it.latLng.longitude, null), preserveCurrentZoomLevel = false)

LocationLiveMapMarkerOptionsDialog(requireContext())
.apply {
Expand Down Expand Up @@ -273,7 +272,7 @@ class LocationLiveMapViewFragment @Inject constructor() : VectorBaseFragment<Fra
.find { it.matrixItem.id == userId }
?.locationData
?.let { locationData ->
mapboxMap?.get()?.zoomToLocation(locationData, preserveCurrentZoomLevel = true)
mapboxMap?.get()?.zoomToLocation(locationData, preserveCurrentZoomLevel = false)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@

<View
android:id="@+id/liveLocationPopupAnchor"
android:layout_width="40dp"
android:layout_height="40dp" />
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_gravity="center"/>

<FrameLayout
android:id="@+id/liveLocationMapFragmentContainer"
Expand Down

0 comments on commit 6a9b496

Please sign in to comment.