public class PlacemarkClutterFilter extends java.lang.Object implements ClutterFilter
PointPlacemark
labels to avoid overlap. When placemarks overlap,
only their label and a line to their position are drawn. The placemark's icon is not drawn for overlapping
placemarks.Modifier and Type | Class and Description |
---|---|
protected static class |
PlacemarkClutterFilter.DeclutteredLabel |
Modifier and Type | Field and Description |
---|---|
protected java.util.List<java.awt.geom.Rectangle2D> |
rectList
Holds the rectangles of the regions already drawn.
|
protected java.util.Map<java.awt.geom.Rectangle2D,java.util.List<Declutterable>> |
shapeMap
Maintains a list of regions and the shapes associated with each region.
|
Constructor and Description |
---|
PlacemarkClutterFilter() |
Modifier and Type | Method and Description |
---|---|
protected void |
addShape(java.awt.geom.Rectangle2D rectangle,
Declutterable shape)
Adds a shape to the internal shape map.
|
void |
apply(DrawContext dc,
java.util.List<Declutterable> shapes)
Applies the filter for a specified list of
Declutterable shapes. |
protected void |
clear()
Release all the resources used in the most recent filter application.
|
protected java.awt.geom.Rectangle2D |
intersects(java.awt.geom.Rectangle2D rectangle)
Indicates whether a specified region intersects a region in the filter.
|
protected void |
render(DrawContext dc)
Draws the decluttered shape representation.
|
protected java.util.List<java.awt.geom.Rectangle2D> rectList
protected java.util.Map<java.awt.geom.Rectangle2D,java.util.List<Declutterable>> shapeMap
protected void addShape(java.awt.geom.Rectangle2D rectangle, Declutterable shape)
rectangle
- the rectangle to associate the shape with.shape
- the shape to associate with the specified rectangle.public void apply(DrawContext dc, java.util.List<Declutterable> shapes)
ClutterFilter
Declutterable
shapes.apply
in interface ClutterFilter
dc
- the current draw context.shapes
- the shapes to declutter.protected void clear()
protected java.awt.geom.Rectangle2D intersects(java.awt.geom.Rectangle2D rectangle)
rectangle
- the region to test.protected void render(DrawContext dc)
PointPlacemark
s, the first non-
placemark shape is drawn in addition to the placemark representation. This causes this filter to produce the same
results for non-placemark shapes as does BasicClutterFilter
.dc
- the current draw context.