public static final class MapNavigator.ZoomAction extends Object implements AutoCloseable
Zooming works by:
ZoomAction#toLocation
)
ZoomAction#factor
)
Example: zoom in 50% (2x zoom)
Map.ViewMapTransformation viewMapTransformation = map.getViewMapTransformation();
Point point = viewMapTransformation.viewToMap(Map.LocationMode.ClosestSurface, toViewLocation);
if (point != null) {
map.getMapNavigator().newZoomAction().toLocation(point).factor(0.5).zoom();
}
Modifier and Type | Method and Description |
---|---|
MapNavigator.ZoomAction |
animate(boolean animated)
Specifies if the action should use an animation.
|
void |
close() |
MapNavigator.ZoomAction |
duration(Duration duration)
Specifies the duration of the animation.
|
MapNavigator.ZoomAction |
factor(double factor)
Sets the zoom factor.
|
protected void |
finalize() |
MapNavigator.ZoomAction |
targetScale(MapScale targetScale)
Sets the map scale to which to zoom to.
|
MapNavigator.ZoomAction |
toLocation(Point toMapLocation)
Sets the location (in
Map coordinates) towards which the MapNavigator will zoom. |
void |
zoom()
Executes the zoom action.
|
public void close()
close
in interface AutoCloseable
@NotNull public MapNavigator.ZoomAction toLocation(@NotNull Point toMapLocation) throws IllegalArgumentException
Map
coordinates) towards which the MapNavigator
will zoom.
This property is mandatory. Not setting it will cause the ZoomAction#zoom
method to throw an exception.
toMapLocation
- a location, defined in the reference of the Map
IllegalArgumentException
- if the toMapLocation parameter is not in the map coordinate reference.@NotNull public MapNavigator.ZoomAction factor(double factor) throws IllegalArgumentException
A value larger than 1 will zoom out. A value between ]0, 1[ will zoom in.
For example: A zoom factor of 0.5 will move the camera twice as close to the target location. A value of 2.0 will move the camera away twice as far from the target location.
It is mandatory to set either this property, or the targetScale property. Not setting either of them will cause the ZoomAction#zoom
method to throw an exception. If both methods are called, the one called last has precedence.
factor
- the zoom factor, a value between ]0, 1[ to zoom in and between ]1, +inf[ to zoom out.IllegalArgumentException
- if the factor value is invalid.@NotNull public MapNavigator.ZoomAction targetScale(@NotNull MapScale targetScale)
It is mandatory to set either this property, or the factor property. Not setting either of them will cause the ZoomAction#zoom
method to throw an exception. If both methods are called, the one called last has precedence.
targetScale
- the target scale to zoom to@NotNull public MapNavigator.ZoomAction animate(boolean animated)
animated
- if this action should use an animation. The default is false.@NotNull public MapNavigator.ZoomAction duration(@NotNull Duration duration)
This parameter is only used if animate(bool)
is called with true as argument.
duration
- the duration of the animation in milliseconds. The default is 2000 (=2 seconds)public void zoom() throws IllegalStateException
IllegalStateException
- if the action is not built correctly, for example if mandatory parameters are missing, or if incompatible parameters are configured.