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) {
|
function moveToPoi(poiCoordinates: Coordinates) {
|
||||||
if (map) {
|
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 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)
|
map.fitBounds(bounds)
|
||||||
|
|
||||||
|
const currentZoomLevel = map.getZoom()
|
||||||
|
|
||||||
|
if (currentZoomLevel && currentZoomLevel <= 13) {
|
||||||
|
map.setZoom(currentZoomLevel - 1)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user