MapOverview
Componente de tipo MapControl diseñado para utilizarlo como vista en miniatura de otro.
Introducción
MapOverview es un componente Java de GUI de tipo MapControl, que actúa como localizador de un objeto MapControl (llamémoslo mc_as_obj).
Ambos contienen la información en la misma proyección.
El extent ajustado de mc_as_obj será dibujado como un rectángulo con el borde rojo, y semitransparente en MapOverview, utilizando para ello un doble-buffer.
MapOverview simula una sola herramienta, denominada "zoomtopoint", con la que el usuario podrá seleccionar de distintos modos un área rectangular que servirá de extent al puerto de vista de mc_as_obj, (el área final seleccionada será la dicho extent, ajustado).
El comportamiento simulado por MapOverview es una composición de 4 Behavior, en combinación con 3 ToolListener, más las operaciones zoom in y zoom out que simula MapControl :
Behavior | ToolListener | Herramienta simulada |
---|---|---|
PointBehavior | MapOverviewListener | Centra el adjusted extent en el punto seleccionado con el 2º o 3º botón del ratón. |
RectangleBehavior | MapOverviewChangeZoomListener | Realiza un zoom ajustando el extent al área rectangular seleccionada con 1º botón del ratón. |
DraggerBehavior | MapOverviewChangeZoomListener | Dibuja el área rectangular seleccionada según se arrastra el 1º botón del ratón. |
DraggerBehavior | MapOverviewPanListener | Permite arrastrar el área rectangular seleccionada con el 3º botón del ratón. |
Aparte soporta las herramientas ofrecidas por MapControl nativamente, moviendo la rueda del ratón.
|
Utiliza como cursor el del MapOverviewListener
Diagrama
La figura 1 muestra el diagrama de clases que resume la implementación de MapOverview según se ha explicado: