private void Start() { OnlineMaps map = OnlineMaps.instance; // Create a new markers. OnlineMapsMarker marker1 = OnlineMapsMarkerManager.CreateItem(new Vector2(0, 0), null, "Marker 1"); OnlineMapsMarker marker2 = OnlineMapsMarkerManager.CreateItem(new Vector2(10, 0), null, "Marker 2"); // Store data about labels. marker1["data"] = new ShowMarkerLabelsByZoomItem(marker1.label, new OnlineMapsRange(3, 10)); marker2["data"] = new ShowMarkerLabelsByZoomItem(marker2.label, new OnlineMapsRange(8, 15)); // Sunscribe to ChangeZoom event. map.OnChangeZoom += OnChangeZoom; OnChangeZoom(); }
private void OnChangeZoom() { OnlineMaps map = OnlineMaps.instance; foreach (OnlineMapsMarker marker in OnlineMapsMarkerManager.instance) { ShowMarkerLabelsByZoomItem item = marker["data"] as ShowMarkerLabelsByZoomItem; if (item == null) { continue; } // Update marker labels. marker.label = item.zoomRange.InRange(map.zoom) ? item.label : ""; } }
private void OnChangeZoom() { OnlineMaps api = OnlineMaps.instance; foreach (OnlineMapsMarker marker in api.markers) { ShowMarkerLabelsByZoomItem item = marker.customData as ShowMarkerLabelsByZoomItem; if (item == null) { continue; } // Update marker labels. if (item.zoomRange.InRange(api.zoom)) { marker.label = item.label; } else { marker.label = ""; } } }