Đây là giải pháp của tôi, cũng hoạt động khi hai điểm đánh dấu ở rất gần nhau. Mức thu phóng tối đa hiệu quả là như nhau trong cả hai trường hợp. Vì vậy, chúng tôi không kết thúc việc phóng to một cách vô cớ, khi có nhiều hơn một điểm đánh dấu
Hiệu quả, một lần nữa là đảm bảo thu phóng tối đa, mà không sử dụng tùy chọn maxZoom, có thể có tác dụng không mong muốn là khiến người dùng không thể thu phóng xa hơn mức maxZoom bằng điều khiển thu phóng
Tôi đã tính toán trước maxLat, minLat, maxLng và minLng
var minLatSpan = 0.002;
if (maxLat - minLat < minLatSpan) {
// ensures that we do not zoom in too much
var delta = (minLatSpan - (maxLat - minLat)) / 2;
maxLat += delta;
minLat -= delta;
}
map.fitBounds({
east: maxLng,
west: minLng,
north: maxLat,
south: minLat,
});