Как динамически увеличить карту Google на основе количества маркеров? - PullRequest
1 голос
/ 31 марта 2019

Я изначально установил уровень масштабирования для карты Google, я хотел бы динамически изменять уровень масштабирования в зависимости от количества маркеров, присутствующих в границах.Если в исходном масштабе карты нет маркеров, я не могу динамически изменять масштаб, изменяя границы карты.

Если маркеров в границах нет, я добавляю новые маркеры впривязка и анимация камеры для включения новых границ, но на самом деле она меняет центр карты на новое место вместо моего текущего местоположения.Я не хочу менять свое текущее место, я просто хочу уменьшить карту, чтобы включить эти маркеры.

if(noMarkersInBound){
    LatLngBounds.Builder builder = new LatLngBounds.Builder();
    builder.include(new LatLng(28.5795431, 77.317322));
    builder.include(new LatLng(28.5805431, 77.328322));
    LatLngBounds bounds = builder.build();
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds,0);
}

Этот метод CameraUpdateFactory.newLatLngBounds меняет текущее место на эту границу вместо уменьшениякарта.

Может кто-нибудь помочь или сказать мне подход для достижения этой цели.

1 Ответ

0 голосов
/ 31 марта 2019

Я не уверен, что правильно понимаю, но если все, что вы хотите сделать, это установить уровень масштабирования, то просто сделайте это:

public static CameraUpdate zoomTo (float zoom) Возвращает CameraUpdate который перемещает точку обзора камеры к определенному уровню масштабирования.

Параметры увеличения требуемого уровня масштабирования в диапазоне от 2,0 до 21,0. Значения ниже этого диапазона установлены на 2,0, а значения выше этого установлены на 21,0. Увеличьте значение для увеличения. Не во всех областях есть плитки с наибольшим уровнем увеличения.

https://developers.google.com/android/reference/com/google/android/gms/maps/CameraUpdateFactory#zoomTo(float)

public void moveCamera (обновление CameraUpdate) Перемещает камеру согласно инструкциям, определенным в обновлении. Ход мгновенный, и последующий getCameraPosition () будет отражать Новая позиция. См. CameraUpdateFactory для набора обновлений.

Обновление параметров Изменение, которое должно применяться к камере.

https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap.html#moveCamera(com.google.android.gms.maps.CameraUpdate)

...