Вот мое решение, которое также работает, когда два маркера очень близки. Эффективный максимальный уровень масштабирования одинаков в обеих ситуациях. Таким образом, мы не заканчиваем излишним увеличением масштаба, когда есть более одного маркера
Эффект, опять же, обеспечивает максимальное увеличение без использования опции maxZoom, что, вероятно, приводит к нежелательному эффекту, когда пользователь не может увеличить масштаб больше уровня maxZoom с помощью элемента управления масштабированием
Я заранее рассчитал maxLat, minLat, maxLng и 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,
});