feat(SW-552): update bounds and zoom logic
This commit is contained in:
@@ -37,21 +37,26 @@ export default function Sidebar({
|
||||
|
||||
function moveToPoi(poiCoordinates: Coordinates) {
|
||||
if (map) {
|
||||
const hotelLatLng = new google.maps.LatLng(
|
||||
coordinates.lat,
|
||||
coordinates.lng
|
||||
)
|
||||
const poiLatLng = new google.maps.LatLng(
|
||||
poiCoordinates.lat,
|
||||
poiCoordinates.lng
|
||||
)
|
||||
|
||||
const bounds = new google.maps.LatLngBounds()
|
||||
const boundPadding = 0.02
|
||||
bounds.extend(hotelLatLng)
|
||||
bounds.extend(poiLatLng)
|
||||
|
||||
const minLat = Math.min(coordinates.lat, poiCoordinates.lat)
|
||||
const maxLat = Math.max(coordinates.lat, poiCoordinates.lat)
|
||||
const minLng = Math.min(coordinates.lng, poiCoordinates.lng)
|
||||
const maxLng = Math.max(coordinates.lng, poiCoordinates.lng)
|
||||
|
||||
bounds.extend(
|
||||
new google.maps.LatLng(minLat - boundPadding, minLng - boundPadding)
|
||||
)
|
||||
bounds.extend(
|
||||
new google.maps.LatLng(maxLat + boundPadding, maxLng + boundPadding)
|
||||
)
|
||||
map.fitBounds(bounds)
|
||||
|
||||
const currentZoomLevel = map.getZoom()
|
||||
|
||||
if (currentZoomLevel && currentZoomLevel <= 13) {
|
||||
map.setZoom(currentZoomLevel - 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user