Вам необходимо отслеживать положение всех маркеров, чтобы определить правильные границы:
- Инициализировать 4 целых числа: верхнюю и правую границы с Integer.MIN_VALUE, нижнюю и левую границы с Integer.MAX_VALUE.
- Выполните итерацию по позиции всех ваших маркеров и обновите границы соответствующим образом: слева должна быть самая маленькая широта, справа самая большая широта, ниже самая маленькая широта, верхняя часть самая большая широта (все это с использованием широты E6значение).
- Передайте zoomToSpan разницу между правым и левым и разницу между верхом и низом, и вы должны быть хорошими.
Возможно, вам придется проделать некоторую дополнительную работу, чтобы управлятьправильно центрируйте карту, чтобы все было на виду, но это должно сделать.