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; }
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; }.