Ecco la mia soluzione, che funziona anche quando due marker sono molto vicini. Il livello di zoom massimo effettivo è lo stesso in entrambe le situazioni. Quindi non finiamo per ridurre lo zoom inutilmente, quando ci sono più di un marker
L'effetto, ancora una volta, è garantire uno zoom massimo, senza utilizzare l'opzione maxZoom, che ha l'effetto probabilmente indesiderato di rendere impossibile all'utente di ingrandire oltre il livello maxZoom con il controllo dello zoom
Ho calcolato maxLat, minLat, maxLng e minLng in anticipo ...
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,
});