Минимальный уровень масштабирования, необходимый для разукрупнения элементов карты - PullRequest
0 голосов
/ 23 января 2020

Я использую Google Maps V2 SDK для Android, чтобы отображать большое количество маркеров на карте. Чтобы улучшить взаимодействие с пользователем, я нашел его функциональность кластеризации очень полезной. Каждый раз, когда я нажимаю на маркер кластера, масштаб карты увеличивается, и кластер расширяется. Вот как я это делаю:

this.clusterManager?.setOnClusterClickListener {
    val builder = LatLngBounds.builder()
    for (item in it.items) {
        builder.include(item.position)
    }
    try {
        map?.animateCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 100))
    } catch (e: Exception) {
        Logger.e(e.message)
    }
    true
}

Все работает, но я указал, что уровень масштабирования слишком высок; Если я попытаюсь ущипнуть карту, уровень масштабирования уменьшится, а элементы не сгруппируются. Поэтому я думаю о том, что было бы наилучшим способом найти минимальный уровень масштабирования (на основе совокупности кластеров), необходимый для достижения эффекта увеличения масштаба. Вот небольшой пример:

enter image description here

...