Cluster cluster; private void Map_Loaded(object sender, RoutedEventArgs e) { GraphicsLayer gl = Map.Layers["QueryGraphicsLayer"] as GraphicsLayer; //preserve the clusterer object to use it when you want to turn the clusering back on cluster = gl.Clusterer; //this is the symbol to be used for the single points that don't get clustered //it can be defined in your xaml, or you can difine it in code //if it is in your xaml you get it this way: SimpleRenderer simpleRenderer = LayoutRoot.Resouces["simpleRenderer"] as SimpleRenderer; //you can use a UniqueValueRenderer also, or not use anything //if you don't specify the renderer, the single points will be red circles (I think) gl.Renderer = simpleRenderer; clusterCheckBox.Checked += new RoutedEventHandler(clusterCheckBox_Checked); clusterCheckBox.Unchecked += new RoutedEventHandler(clusterCheckBox_Unchecked); } private void clusterCheckBox_Unchecked(object sender, RoutedEventArgs e) { //check first if Map is null if (Map == null) return; GraphicsLayer gl = Map.Layers["QueryGraphicsLayer"] as GraphicsLayer; //check if gl is null if (gl == null) return; gl.Clusterer = null; UniqueValueRenderer uniqueRenderer = LayoutRoot.Resources[QueryUniqueValueRenderer"] as UniqueValueRenderer; gl.Renderer = uniqueRenderer; } private void clusterCheckBox_Checked(object sender, RoutedEventArgs e) { //check first if Map is null if (Map == null) return; GraphicsLayer gl = Map.Layers["QueryGraphicsLayer"] as GraphicsLayer; //check if gl is null if (gl == null) return; GraphicsLayer gl = Map.Layers["QueryGraphicsLayer"] as GraphicsLayer; gl.Clusterer = clusterer; SimpleRenderer simpleRenderer = LayoutRoot.Resouces["simpleRenderer"] as SimpleRenderer; gl.Renderer = simpleRenderer; }.
Cluster cluster; private void Map_Loaded(object sender, RoutedEventArgs e) { GraphicsLayer gl = Map.Layers["QueryGraphicsLayer"] as GraphicsLayer; //preserve the clusterer object to use it when you want to turn the clusering back on cluster = gl.Clusterer; //this is the symbol to be used for the single points that don't get clustered //it can be defined in your xaml, or you can difine it in code //if it is in your xaml you get it this way: SimpleRenderer simpleRenderer = LayoutRoot.Resouces["simpleRenderer"] as SimpleRenderer; //you can use a UniqueValueRenderer also, or not use anything //if you don't specify the renderer, the single points will be red circles (I think) gl.Renderer = simpleRenderer; } private void clusterCheckBox_Unchecked(object sender, RoutedEventArgs e) { GraphicsLayer gl = Map.Layers["QueryGraphicsLayer"] as GraphicsLayer; gl.Clusterer = null; UniqueValueRenderer uniqueRenderer = LayoutRoot.Resources[QueryUniqueValueRenderer"] as UniqueValueRenderer; gl.Renderer = uniqueRenderer; } private void clusterCheckBox_Checked(object sender, RoutedEventArgs e) { GraphicsLayer gl = Map.Layers["QueryGraphicsLayer"] as GraphicsLayer; gl.Clusterer = clusterer; SimpleRenderer simpleRenderer = LayoutRoot.Resouces["simpleRenderer"] as SimpleRenderer; gl.Renderer = simpleRenderer; }
Angemeldete Mitglieder können Beiträge verfassen, Updates folgen und mehr. Neu hier? Registriere ein kostenloses Konto.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.