using UnityEngine; public class TestClustering3D : MonoBehaviour { public int countMarkers = 50000; public GameObject prefab; private void GenerateMarkers() { for (int i = 0; i < countMarkers; i++) { double longitude = Random.Range(-180f, 180f); double latitude = Random.Range(-90f, 90f); OnlineMapsMarker3D marker = new OnlineMapsMarker3D(); marker.SetPosition(longitude, latitude); marker.label = "Marker " + i; marker.prefab = prefab; marker.scale = 20; marker.OnClick += delegate (OnlineMapsMarkerBase m) { Debug.Log("Marker Click. " + m.label); if (Input.GetKeyDown(KeyCode.LeftControl)) Clustering3DMarkers.Remove(m as OnlineMapsMarker3D); else { double mx, my; marker.GetPosition(out mx, out my); Clustering3DMarkers.MarkerWrapper wrapper = Clustering3DMarkers.rootCluster.FindMarkerWrapper(marker); Clustering3DMarkers.Cluster p = wrapper.parent; Debug.Log(p.zoom); } }; // For Online Maps v2.5.3.1+ /*marker.OnPositionChanged += delegate(OnlineMapsMarkerBase m) { Debug.Log("Position Changed"); Clustering3DMarkers.UpdateMarkerPosition(m as OnlineMapsMarker3D); };*/ Clustering3DMarkers.Add(marker); } Clustering3DMarkers.UpdatePositions(); } private void Start() { GenerateMarkers(); } }