ANDROID GOOGLE MAPS 마커 클러스터

6108 단어 androidprogramming
이번 포스팅에서는 구글맵 마커 클러스터링 사용법에 대해 알아보도록 하겠습니다. Google 지도에 많은 수의 마커 지점을 표시해야 하는 경우 Android의 마커 클러스터를 사용합니다.

이를 위해 Google 지도 마커 클러스터링 유틸리티 클래스를 사용하고 있습니다.



위 이미지에서 클러스터의 숫자는 포함된 마커 수를 나타냅니다. 클러스터 위치를 확대하면 마커를 볼 수 있습니다. 확대/축소 옵션으로 현재 위치를 표시할 수도 있습니다.

Maps Clustering을 사용하려면 build.gradle 파일에 아래 종속 항목을 추가합니다.

implementation 'com.google.maps.android:android-maps-utils:1.0.2'
implementation 'com.google.android.gms:play-services-maps:17.0.0'


클러스터를 표시하는 가장 간단한 방법으로 Marker를 클러스터로 추가하려면 먼저 모델 클래스에서 ClusterItem을 구현해야 합니다. ClusterItem을 구현하는 간단한 User 클래스를 만들어 봅시다.

package com.rrtutors.googlemapcluster

import com.google.android.gms.maps.model.LatLng
import com.google.maps.android.clustering.ClusterItem

class User constructor(username: String,latLng: LatLng,url :String): ClusterItem {

    var username=username;
    var url=url;
    var latLng=latLng;
    override fun getSnippet(): String {

        return "";
    }

    override fun getTitle(): String {

        return username;
    }

    override fun getPosition(): LatLng {
        return latLng;

    }


}


지도에 추가하는 데 사용할 이 클래스

다음과 같이 마커에 클러스터를 추가해 보겠습니다.

private fun setUpClusterManager(googleMap: GoogleMap) {
        val clusterManager = ClusterManager<User>(applicationContext , googleMap)  // 3
        googleMap.setOnCameraIdleListener(clusterManager)
        val items = getItems()

        googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(items?.toList()?.get(6)?.latLng, 14.0f));
        clusterManager.addItems(items)  // 4
        clusterManager.cluster()  // 5
    }


전체 예 보기Google Maps Cluster Android

좋은 웹페이지 즐겨찾기