Package com.massifmaps.components
Class Options
java.lang.Object
com.massifmaps.components.Options
A class containing various options for rendering and map manipulation.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if this object is equal to the specified object.Returns the color of the ambient light.Returns the background bitmap.Returns the base projection.Returns the clear color used by the renderer before drawing anything else.
By default, this is white.floatReturns how far a pointer may travel before a press stops counting as a click.floatReturns the double click max duration in seconds.floatgetDPI()Returns the dots per inch value.floatReturns the draw distance value.intReturns the number of threads used by the envelope task pool.intReturns the vertial field of view angle.Returns the focus point offset (from screen center) in pixels.Returns the fog (atmosphere) options.floatReturns how fast a free roam drag turns the view.intReturns the free roam mode.floatReturns how far a first person move drag travels.Returns the light (sun) options.floatReturns the long click duration in seconds.Returns the color of the main light.Returns the direction of the main light.Returns the map panning bounds constraints.intReturns the panning mode.intReturns the panning speed mode.intReturns the pivot mode.intReturns the render projection mode.Returns the sky color.Returns the sky options.Returns the terrain options.intReturns the tile size used for drawing map tiles.floatReturns the factor on the screen size a tile may cover before it is refined.floatReturns how many distinct zoom levels a tilted view may spread over.floatReturns how many times more tiles a tilted view may load than a top-down one.intReturns how many zoom levels above its own a coarsened tile may be styled at.intReturns the number of threads used by the tile task pool.Returns the tilt range constraint.floatReturns how many zoom levels the camera is offset from the tile-size convention.Returns the zoom range constraint.inthashCode()Returns the hash value of this object.booleanReturns the click type detection state.booleanReturns the state of the tile border debug overlay.booleanReturns the double click detection state.booleanReturns the state of the kinetic panning flag.booleanReturns the state of the kinetic rotation flag.booleanReturns the state of kinetic zoom flag.booleanReturns wether layers are processed in reversed order to process labels.booleanReturns the state of the restricted panning flag.booleanReturns the state of the map rotatability flag.booleanReturns the state of rotation gestures.booleanReturns the state of seamless horizontal panning flag.booleanReturns true if tilting gesture direction is reversed (and same as with Google Maps).booleanReturns the state of the user input flag.booleanReturns the state of zoom gestures.voidsetAmbientLightColor(Color color) Sets the ambient light color.
Ambient light affects all lighting enabled models in the scene equally, it has no direction or location.voidsetBackgroundBitmap(Bitmap backgroundBitmap) Sets the background bitmap.voidsetBaseProjection(Projection baseProjection) Sets the base projection.voidsetClearColor(Color color) Sets the clear color of the renderer.voidsetClickMovingTolerance(float tolerance) Sets how far a pointer may travel before a press stops counting as a click and the map
starts panning.voidsetClickTypeDetection(boolean enabled) Sets the state of the click type detection flag.voidsetDebugTileBorders(boolean enabled) Sets the state of the tile border debug overlay.voidsetDoubleClickDetection(boolean enabled) Sets the state of the double click detection flag.voidsetDoubleClickMaxDuration(float duration) Sets the double click max in seconds.voidsetDPI(float dpi) Sets the dots per inch value.voidsetDrawDistance(float drawDistance) Sets a new draw distance value.voidsetEnvelopeThreadPoolSize(int poolSize) Sets the number of threads used by the envelope task pool.voidsetFieldOfViewY(int fovY) Sets the vertial field of view angle.voidsetFocusPointOffset(ScreenPos offset) Sets the focus point offset (from screen center) in pixels.voidsetFogOptions(FogOptions fogOptions) Sets the fog options - the haze distant ground fades into and the colours it carries
into the sky.voidsetFreeRoamLookSensitivity(float degreesPerInch) Sets how fast a free roam drag turns the view, in degrees per inch of drag.voidsetFreeRoamMode(int mode) Sets the free roam mode: what a one-finger drag does, and which camera model the tilt
and the rotation follow.voidsetFreeRoamMoveSpeed(float distancePerInch) Sets how far a two-finger move travels in FREE_ROAM_MODE_FIRST_PERSON, per inch of drag,
as a fraction of the distance from the camera to its focus point - so a move covers the
same part of the view at any zoom.voidsetKineticPan(boolean enabled) Sets the state of the kinetic panning flag.voidsetKineticRotation(boolean enabled) Sets the state of the kinetic rotation flag.voidsetKineticZoom(boolean enabled) Sets the state of the kinetic zooming flag.voidsetLayersLabelsProcessedInReverseOrder(boolean enabled) Sets wether layers are processed in reversed order to process labels.
The default is true.voidsetLightOptions(LightOptions lightOptions) Sets the light (sun) options.voidsetLongClickDuration(float duration) Sets the long click duration in seconds.voidsetMainLightColor(Color color) Sets the color of the main light.voidsetMainLightDirection(MapVec direction) Sets the direction of the main light.voidsetPanBounds(MapBounds panBounds) Sets the map panning bounds constraints.voidsetPanningMode(int panningMode) Sets the panning mode.voidsetPanningSpeedMode(int mode) Sets how fast a one-finger pan moves the map on a tilted view.voidsetPivotMode(int pivotMode) Sets the pivot mode.voidsetRenderProjectionMode(int renderProjectionMode) Sets the render projection mode.voidsetRestrictedPanning(boolean enabled) Sets the restricted panning flag.voidsetRotatable(boolean enabled) Sets the state of the map rotatability flag.voidsetRotationGestures(boolean enabled) Sets the rotation gestures flag.voidsetSeamlessPanning(boolean enabled) Sets the state of seamless horizontal panning flag.voidsetSkyColor(Color color) Sets the sky color.voidsetSkyOptions(SkyOptions skyOptions) Sets the sky options.voidsetTerrainOptions(TerrainOptions terrainOptions) Sets the terrain options.voidsetTileDrawSize(int tileDrawSize) Sets the tile size for drawing map tiles.voidsetTileLODFactor(float factor) Sets how big a tile may get on screen before the next zoom level is used, as a factor on
tangram's rule (core/src/tile/tileManager.cpp): refine while the tile's projected screen
area is at least that of a 2x2 block of nominal tiles.voidsetTileLODMaxZoomLevelsOnScreen(float levels) Sets how many distinct zoom levels the frame may spread over when the horizon is at the
top of the screen - maplibre's maxZoomLevelsOnScreen (setSourceTileLodParams).
It sets how fast the level decays toward the horizon: HIGHER spreads more levels over the
frame, so the far field coarsens faster and costs fewer tiles; LOWER keeps far ground
finer and costs more.voidsetTileLODProfile(int profile) Applies a named set of the tile LOD numbers - TileLODFactor,
TileLODMaxZoomLevelsOnScreen, TileLODTileCountRatio and TileStyleZoomLift at once.
They multiply into the tile count, so tuning them separately is how a map ends up four
times more expensive than any reference renderer without anyone deciding to.voidsetTileLODTileCountRatio(float ratio) Sets the cap on how many more tiles a tilted view may load than a top-down one -
maplibre's tileCountMaxMinRatio.voidsetTileStyleZoomLift(int levels) Sets how many zoom levels above its own zoom a coarsened tile matches its style rules at.
The LOD rule (see setTileLODFactor) hands back a tile coarser than the camera asked for,
and a CartoCSS [zoom] filter gates on the TILE, so a converted MapBox style's
`minzoom` - a VIEW-zoom gate in the original - stops matching the moment the tile
coarsens: one level, and the far half of a tilted view loses every building along a
straight tile edge.
This lifts the zoom the rules are matched at, without changing which tiles are drawn.voidsetTileThreadPoolSize(int poolSize) Sets the number of threads used by the tile task pool.voidsetTiltGestureReversed(boolean reversed) Sets the tilting gesture direction.voidsetTiltRange(MapRange tiltRange) Sets the tilt range constraint.voidsetUserInput(boolean enabled) Sets the state of the user input flag.voidsetZoomGestures(boolean enabled) Sets the zoom gestures flag.voidsetZoomOffset(float offset) Sets how many zoom levels the camera is offset from the tile-size convention.
The SDK calibrates on a 256-pixel tile, maplibre and mapbox-gl on a 512-pixel one, so an
offset of 1 adopts theirs.voidsetZoomRange(MapRange zoomRange) Sets the zoom range constraint.
-
Method Details
-
equals
Checks if this object is equal to the specified object. -
hashCode
public int hashCode()Returns the hash value of this object. -
getAmbientLightColor
Returns the color of the ambient light.- Returns:
- The color of the ambient light.
-
setAmbientLightColor
Sets the ambient light color.
Ambient light affects all lighting enabled models in the scene equally, it has no direction or location.- Parameters:
color- The new color for the ambient light.
-
getMainLightColor
Returns the color of the main light.- Returns:
- The color of the main light.
-
setMainLightColor
Sets the color of the main light. The main light affects all lighting enabled models
in the scene equally from a certain direction. This light can be used to simulate sun or moon light.- Parameters:
color- The new color for the main light.
-
getMainLightDirection
Returns the direction of the main light.- Returns:
- The direction of the main light.
-
setMainLightDirection
Sets the direction of the main light. The main light affects all lighting enabled models
in the scene equally from a certain direction. This light can be used to simulate sun or moon light.
The direction is always measured based on the local tangent frame of the focus point.- Parameters:
direction- The new direction vector for the main light. (0,0,-1) means straight down, (-0.707,0,-0.707) means
from east with a 45 degree angle. The direction vector will be normalized.
-
getRenderProjectionMode
public int getRenderProjectionMode()Returns the render projection mode.- Returns:
- The render projection mode.
-
setRenderProjectionMode
public void setRenderProjectionMode(int renderProjectionMode) Sets the render projection mode. The default is RenderProjectionMode::PLANAR.- Parameters:
renderProjectionMode- The new render projection mode.
-
isDebugTileBorders
public boolean isDebugTileBorders()Returns the state of the tile border debug overlay.- Returns:
- True if every tile layer outlines the tiles it draws.
-
setDebugTileBorders
public void setDebugTileBorders(boolean enabled) Sets the state of the tile border debug overlay. Every tile layer then outlines the
tiles it actually draws, in 3D following the terrain, with a colour per zoom level and
alternating brightness between neighbours - so a layer using a coarser tile set than
the one under it, an overzoomed stand-in, or a tile that owns pixels it should not, is
visible on screen. The default is false.- Parameters:
enabled- The new state of the tile border debug overlay.
-
isClickTypeDetection
public boolean isClickTypeDetection()Returns the click type detection state.- Returns:
- True if click type detection is enabled.
-
setClickTypeDetection
public void setClickTypeDetection(boolean enabled) Sets the state of the click type detection flag. If set to true clicks are categorized as normal clicks, double clicks,
long clicks and dual clicks. The default is true.- Parameters:
enabled- The new state of the click type detection flag.
-
getClickMovingTolerance
public float getClickMovingTolerance()Returns how far a pointer may travel before a press stops counting as a click.- Returns:
- The tolerance in density-independent pixels (dp). The default is 32.
-
setClickMovingTolerance
public void setClickMovingTolerance(float tolerance) Sets how far a pointer may travel before a press stops counting as a click and the map
starts panning. The default, 32 dp, is a finger-sized threshold; a mouse wants far less
(maplibre uses 3 px), which is why a desktop or web host lowers it.- Parameters:
tolerance- The new tolerance in density-independent pixels (dp).
-
isDoubleClickDetection
public boolean isDoubleClickDetection()Returns the double click detection state.- Returns:
- True if double click detection is enabled.
-
setDoubleClickDetection
public void setDoubleClickDetection(boolean enabled) Sets the state of the double click detection flag. If set to true clicks, then double clicks are detected separately from normal clicks. are categorized as normal clicks, double clicks,
The click type resolving takes about 400ms (configurable via setDoubleClickMaxDuration), so for applications that do not
require this functionality, it can be turned off. The default is true.- Parameters:
enabled- The new state of the double click detection flag.
-
getLongClickDuration
public float getLongClickDuration()Returns the long click duration in seconds.- Returns:
- The long click duration in seconds.
-
setLongClickDuration
public void setLongClickDuration(float duration) Sets the long click duration in seconds. The default is value is 0.4 (400ms).- Parameters:
duration- The new duration for the long click in seconds.
-
getDoubleClickMaxDuration
public float getDoubleClickMaxDuration()Returns the double click max duration in seconds.- Returns:
- The double click max duration in seconds.
-
setDoubleClickMaxDuration
public void setDoubleClickMaxDuration(float duration) Sets the double click max in seconds. The default is value is 0.4 (400ms).- Parameters:
duration- The new value for the double click max duration detection in seconds.
-
getTileDrawSize
public int getTileDrawSize()Returns the tile size used for drawing map tiles.- Returns:
- The tile size in density-independent pixels (dp).
-
setTileDrawSize
public void setTileDrawSize(int tileDrawSize) Sets the tile size for drawing map tiles. Different datasources may have different tile sizes, this option
can be used to compensate for bigger or smaller tiles than default. The default is 256.
A style's own sizes do NOT follow it: a vector tile layer decodes against this size, so a
label stays the same dp whatever tile the layer picks. Set it before adding the layer -
a layer reads it when it joins the map.- Parameters:
tileDrawSize- The new tile size in density-independent pixels (dp).
-
getZoomOffset
public float getZoomOffset()Returns how many zoom levels the camera is offset from the tile-size convention.- Returns:
- The zoom offset in levels. The default is 0.
-
setZoomOffset
public void setZoomOffset(float offset) Sets how many zoom levels the camera is offset from the tile-size convention.
The SDK calibrates on a 256-pixel tile, maplibre and mapbox-gl on a 512-pixel one, so an
offset of 1 adopts theirs. It RENUMBERS and nothing else: label and line sizes do not
move with it, which is why it is not just a bigger TileDrawSize. Changing it changes what
getZoom() reports, so a stored camera and a visibleZoomRange move with it.- Parameters:
offset- The new zoom offset in levels. The default is 0.
-
getTileLODFactor
public float getTileLODFactor()Returns the factor on the screen size a tile may cover before it is refined.- Returns:
- The tile LOD factor. The default is 0.5; 1 is exactly tangram's rule.
-
setTileLODFactor
public void setTileLODFactor(float factor) Sets how big a tile may get on screen before the next zoom level is used, as a factor on
tangram's rule (core/src/tile/tileManager.cpp): refine while the tile's projected screen
area is at least that of a 2x2 block of nominal tiles. A factor of 1 is that rule
verbatim, larger keeps tiles coarser (fewer tiles, fewer labels, less detail), smaller
refines further.
Where it matters is a tilted view: a tile near the horizon collapses to a few pixels of
screen while its distance barely grows, so this - not the view distance - is what decides
how much of the horizon band is drawn at full detail.- Parameters:
factor- The new tile LOD factor. The default is 0.5.
-
getTileLODMaxZoomLevelsOnScreen
public float getTileLODMaxZoomLevelsOnScreen()Returns how many distinct zoom levels a tilted view may spread over.- Returns:
- The zoom levels on screen. The default is 9.314, maplibre's.
-
setTileLODMaxZoomLevelsOnScreen
public void setTileLODMaxZoomLevelsOnScreen(float levels) Sets how many distinct zoom levels the frame may spread over when the horizon is at the
top of the screen - maplibre's maxZoomLevelsOnScreen (setSourceTileLodParams).
It sets how fast the level decays toward the horizon: HIGHER spreads more levels over the
frame, so the far field coarsens faster and costs fewer tiles; LOWER keeps far ground
finer and costs more. maplibre's 9.314 is our screen-area rule exactly, so it is the
default and changing nothing changes nothing.
This supersedes the old TileLODForeshorteningLimit, which bounded the same term from the
other side with a number that had no reference behind it.- Parameters:
levels- The zoom levels on screen. The default is 9.314.
-
getTileLODTileCountRatio
public float getTileLODTileCountRatio()Returns how many times more tiles a tilted view may load than a top-down one.- Returns:
- The ratio. The default is 3, maplibre's.
-
setTileLODTileCountRatio
public void setTileLODTileCountRatio(float ratio) Sets the cap on how many more tiles a tilted view may load than a top-down one -
maplibre's tileCountMaxMinRatio. When the cap would be exceeded the level is lowered
uniformly across the frame until it fits.
NOTE this binds only when TileLODMaxZoomLevelsOnScreen asks for a gentler far field than
the default: at the default the pitched view never counts as asking for more tiles than a
flat one, so the cap is inert. It bounds the cost of refining the horizon, it does not
rescue a view that is slow for another reason.- Parameters:
ratio- The ratio. The default is 3.
-
setTileLODProfile
public void setTileLODProfile(int profile) Applies a named set of the tile LOD numbers - TileLODFactor,
TileLODMaxZoomLevelsOnScreen, TileLODTileCountRatio and TileStyleZoomLift at once.
They multiply into the tile count, so tuning them separately is how a map ends up four
times more expensive than any reference renderer without anyone deciding to. Set a
profile for the platform, then override one number if a specific map needs it.- Parameters:
profile- The profile to apply.
-
getTileStyleZoomLift
public int getTileStyleZoomLift()Returns how many zoom levels above its own a coarsened tile may be styled at.- Returns:
- The lift in zoom levels. The default is 2.
-
setTileStyleZoomLift
public void setTileStyleZoomLift(int levels) Sets how many zoom levels above its own zoom a coarsened tile matches its style rules at.
The LOD rule (see setTileLODFactor) hands back a tile coarser than the camera asked for,
and a CartoCSS [zoom] filter gates on the TILE, so a converted MapBox style's
`minzoom` - a VIEW-zoom gate in the original - stops matching the moment the tile
coarsens: one level, and the far half of a tilted view loses every building along a
straight tile edge.
This lifts the zoom the rules are matched at, without changing which tiles are drawn. It
is bounded because a far tile styled at the camera's zoom emits the whole near-field
content - every label, every arrow - over ground tens of times wider. 2 covers the first
two coarsening steps, where the visible edge is; 0 restores the tile's own zoom.- Parameters:
levels- The lift in zoom levels. The default is 2.
-
getDPI
public float getDPI()Returns the dots per inch value.- Returns:
- The dots per inch value.
-
setDPI
public void setDPI(float dpi) Sets the dots per inch value. This is calculated automatically by the SDK when the MapView is created using
the device screen parameters. The purpose of this value is to compensate for very high or low resolution devices,
so that the map remains readable.- Parameters:
dpi- The new dots per inch value.
-
getDrawDistance
public float getDrawDistance()Returns the draw distance value.- Returns:
- The draw distance value.
-
setDrawDistance
public void setDrawDistance(float drawDistance) Sets a new draw distance value. The higher the draw distance the more tiles can be seen, if the map is tilted.
Changing the draw distance will cause the horizon to move, which means that the if the sky bitmap is used,
the horizon may not match up anymore. Increasing this value will decrease performance and increase network traffic,
if online map is used. The default is 16.- Parameters:
drawDistance- The new draw distance value.
-
getFieldOfViewY
public int getFieldOfViewY()Returns the vertial field of view angle.- Returns:
- The vertical field of view angle in degrees.
-
setFieldOfViewY
public void setFieldOfViewY(int fovY) Sets the vertial field of view angle. Larger values increase the viewable area, at the cost of performance and
additional perspective distortion. The default is 70.- Parameters:
fovY- The new vertical field of view angle in degrees.
-
getPanningMode
public int getPanningMode()Returns the panning mode.- Returns:
- The panning mode.
-
setPanningMode
public void setPanningMode(int panningMode) Sets the panning mode. The default is PanningMode::FREE.- Parameters:
panningMode- The new panning mode.
-
getPivotMode
public int getPivotMode()Returns the pivot mode.- Returns:
- The pivot mode.
-
setPivotMode
public void setPivotMode(int pivotMode) Sets the pivot mode. The default is PIVOT_MODE_TOUCHPOINT- Parameters:
pivotMode- The new pivot mode.
-
isSeamlessPanning
public boolean isSeamlessPanning()Returns the state of seamless horizontal panning flag.- Returns:
- True if seamless horizontal panning is enabled.
-
setSeamlessPanning
public void setSeamlessPanning(boolean enabled) Sets the state of seamless horizontal panning flag. If set to true, the user can scroll seamlessly from
the left side of the map to the right, and the other way around. The default is true.- Parameters:
enabled- The new state of seamless horizontal panning flag.
-
isRestrictedPanning
public boolean isRestrictedPanning()Returns the state of the restricted panning flag.- Returns:
- True if restricted panning is enabled.
-
setRestrictedPanning
public void setRestrictedPanning(boolean enabled) Sets the restricted panning flag. If set to true, then focus point coordinates and zoom level of the map view
will be adjusted to display as little empty background as possible. The default is false. -
isTiltGestureReversed
public boolean isTiltGestureReversed()Returns true if tilting gesture direction is reversed (and same as with Google Maps).- Returns:
- True if tilting gesture direction is reversed (and same as with Google Maps). Otherwise returns false.
-
setTiltGestureReversed
public void setTiltGestureReversed(boolean reversed) Sets the tilting gesture direction. By default, the gesture is not reversed.- Parameters:
reversed- True if Google Maps compatible mode should be used. False otherwise (default).
-
isZoomGestures
public boolean isZoomGestures()Returns the state of zoom gestures.- Returns:
- True if zoom gestures are enabled. False otherwise.
-
setZoomGestures
public void setZoomGestures(boolean enabled) Sets the zoom gestures flag. Zoom gestures allow to use double click and dual click to zoom in/out of the map.
Enabled by default. Note that zoom gestures require that click detection mode is enabled and also that double click detection is enabled.- Parameters:
enabled- True if zoom gestured should be enabled, false otherwise.
-
isRotationGestures
public boolean isRotationGestures()Returns the state of rotation gestures.- Returns:
- True if rotation gestures are enabled. False otherwise.
-
setRotationGestures
public void setRotationGestures(boolean enabled) Sets the rotation gestures flag. Rotation gestures allow to use pinch to rotate the map.
By default, rotation gestures are not enabled.- Parameters:
enabled- True if rotation gestured should be enabled, false otherwise.
-
getEnvelopeThreadPoolSize
public int getEnvelopeThreadPoolSize()Returns the number of threads used by the envelope task pool.- Returns:
- The envelope task thread pool size.
-
setEnvelopeThreadPoolSize
public void setEnvelopeThreadPoolSize(int poolSize) Sets the number of threads used by the envelope task pool. More threads means more envelope tasks
are executed in parallel. This might speed up the data query, but may cause performance drops. Default is 1.- Parameters:
poolSize- The new envelope task thread pool size.
-
getTileThreadPoolSize
public int getTileThreadPoolSize()Returns the number of threads used by the tile task pool.- Returns:
- The tile task thread pool size.
-
setTileThreadPoolSize
public void setTileThreadPoolSize(int poolSize) Sets the number of threads used by the tile task pool. More threads means more tile tasks
are executed in parallel. This might speed up the data query, but may cause performance drops. Default is 1.- Parameters:
poolSize- The new tile task thread pool size.
-
getClearColor
Returns the clear color used by the renderer before drawing anything else.
By default, this is white. It should be set to (0, 0, 0, 0) if transparent MapView is needed.- Returns:
- The clear color.
-
setClearColor
Sets the clear color of the renderer.- Parameters:
color- The new clear color.
-
getSkyColor
Returns the sky color.- Returns:
- The sky color.
-
setSkyColor
Sets the sky color. The purpose of the sky bitmap is to fill out the empty space visible at low tilt angles.- Parameters:
color- The new sky color. If the color is transparent, sky is not rendered.
-
getBackgroundBitmap
Returns the background bitmap. May be null.- Returns:
- The background bitmap.
-
setBackgroundBitmap
Sets the background bitmap. The purpose of the background bitmap is to fill out the empty space when there's
no map data visible. The bitmap will get scaled and repeated to cover the hole visible area. If a null pointer is passed,
the background won't be drawn.
The width and height of the bitmap must be power of two (for example: 256 * 256 or 128 * 512).
It's also preferred if the bitmap was square (width == height), but this is not a requirement.
The default is "default_background.png".- Parameters:
backgroundBitmap- The new background bitmap.
-
isUserInput
public boolean isUserInput()Returns the state of the user input flag.- Returns:
- True if user input is allowed.
-
setUserInput
public void setUserInput(boolean enabled) Sets the state of the user input flag. If set to false the user won't be able to pan the map using touch controls,
programmatic map panning using MapView methods is still possible. The default is false.- Parameters:
enabled- The new state of the user input flag.
-
getPanningSpeedMode
public int getPanningSpeedMode()Returns the panning speed mode.- Returns:
- The panning speed mode.
-
setPanningSpeedMode
public void setPanningSpeedMode(int mode) Sets how fast a one-finger pan moves the map on a tilted view. The default is
PANNING_SPEED_MODE_ANCHORED, which keeps the speed a gesture starts with for as long as
it lasts; PANNING_SPEED_MODE_MAP is the exact grab-the-world pan, which changes speed as
the finger moves between near and far parts of the screen.- Parameters:
mode- The new panning speed mode.
-
getFreeRoamMode
public int getFreeRoamMode()Returns the free roam mode.- Returns:
- The free roam mode.
-
setFreeRoamMode
public void setFreeRoamMode(int mode) Sets the free roam mode: what a one-finger drag does, and which camera model the tilt
and the rotation follow. Free roam is what makes content placed in the sky
(CelestialLayer) reachable, since it is normally off the top of the screen. To look
ABOVE the horizon the tilt range has to allow a negative tilt - e.g.
setTiltRange(MapRange(-90, 90)) - as it stops at the horizon by default.
The default is FREE_ROAM_MODE_OFF.- Parameters:
mode- The new free roam mode.
-
getFreeRoamLookSensitivity
public float getFreeRoamLookSensitivity()Returns how fast a free roam drag turns the view.- Returns:
- The turn in degrees per inch of drag.
-
setFreeRoamLookSensitivity
public void setFreeRoamLookSensitivity(float degreesPerInch) Sets how fast a free roam drag turns the view, in degrees per inch of drag. The default
is 90, i.e. an inch of drag turns a quarter turn.- Parameters:
degreesPerInch- The turn in degrees per inch of drag.
-
getFreeRoamMoveSpeed
public float getFreeRoamMoveSpeed()Returns how far a first person move drag travels.- Returns:
- The distance per inch of drag, as a fraction of the camera to focus distance.
-
setFreeRoamMoveSpeed
public void setFreeRoamMoveSpeed(float distancePerInch) Sets how far a two-finger move travels in FREE_ROAM_MODE_FIRST_PERSON, per inch of drag,
as a fraction of the distance from the camera to its focus point - so a move covers the
same part of the view at any zoom. The default is 0.5.- Parameters:
distancePerInch- The distance per inch of drag.
-
isKineticPan
public boolean isKineticPan()Returns the state of the kinetic panning flag.- Returns:
- True if kinetic panning is enabled.
-
setKineticPan
public void setKineticPan(boolean enabled) Sets the state of the kinetic panning flag. Kinetic panning allows the map to pan automatically using
the inertia of the last swipe, after the user has finished interacting with the touch screen.
Default is true.- Parameters:
enabled- The new state of the kinetic panning flag.
-
isKineticRotation
public boolean isKineticRotation()Returns the state of the kinetic rotation flag.- Returns:
- True if kinetic rotation is enabled.
-
setKineticRotation
public void setKineticRotation(boolean enabled) Sets the state of the kinetic rotation flag. Kinetic rotation allows the map to rotate automatically using
the inertia of the last swipe, after the user has finished interacting with the touch screen.
Default is true.- Parameters:
enabled- The new state of the kinetic rotation flag.
-
isKineticZoom
public boolean isKineticZoom()Returns the state of kinetic zoom flag.- Returns:
- True if kinetic zooming is enabled.
-
setKineticZoom
public void setKineticZoom(boolean enabled) Sets the state of the kinetic zooming flag. Kinetic zooming allows the map to zoom automatically using
the inertia of the last swipe, after the user has finished interacting with the touch screen.
Default is true.- Parameters:
enabled- The new state of the kinetic zooming flag.
-
isRotatable
public boolean isRotatable()Returns the state of the map rotatability flag.- Returns:
- True if map rotating is enabled.
-
setRotatable
public void setRotatable(boolean enabled) Sets the state of the map rotatability flag. If set to false the map can't be rotated by any means. The default is true.- Parameters:
enabled- The new state of the map rotatability flag.
-
getTiltRange
Returns the tilt range constraint.- Returns:
- The tilt range constraint in degrees.
-
setTiltRange
Sets the tilt range constraint. This will limit the tilt angle of the camera to the specified range.
The current tilt angle will remain unaffected, until the next time the tilt angle changes.
The minimum tilt angle is -90 degrees and the maximum is 90 degrees. Values that are out of range will be clamped.
The default value is MapRange(0, 90).
A NEGATIVE tilt looks above the horizon: the camera stays where it is and the view pitches
up, which is what an application showing the sky needs. It is opt-in, as the default range
stops at the horizon.- Parameters:
tiltRange- The new tilt range constraint in degrees.
-
getZoomRange
Returns the zoom range constraint.- Returns:
- The zoom range constraint.
-
setZoomRange
Sets the zoom range constraint. This will limit the zoom level of the camera to the specified range.
The current zoom level will remain unaffected, until the next time the zoom level changes.
The minimum zoom value is 0 and the maximum is 24. Values that are out of range will be clamped.
The default value is MapRange(0, 24).- Parameters:
zoomRange- The new zoom range constraint.
-
getPanBounds
Returns the map panning bounds constraints. Map bounds minimum and maximum points are in the base
projection's coordinate system.- Returns:
- The map bounds constraints.
-
setPanBounds
Sets the map panning bounds constraints. This will limit camera movement to the specified bounds.
The current camera position will remain unaffected, until the next time camera position changes.
Map bounds minimum and maximum points are expected to be in the base projection's coordinate system.
If the bounds are larger than the world size, they will be clamped to world bounds. The default value covers the
whole world.- Parameters:
panBounds- The new map bounds constraints.
-
getFocusPointOffset
Returns the focus point offset (from screen center) in pixels.- Returns:
- The focus point offset in pixels.
-
setFocusPointOffset
Sets the focus point offset (from screen center) in pixels.- Parameters:
offset- The new focus point offset in pixels.
-
getBaseProjection
Returns the base projection.- Returns:
- The base projection.
-
setBaseProjection
Sets the base projection. All MapView, MapEventListener and Options methods use the coordinate system of this projection.
For example, if base projection is set to EPSG3857 then MapView::getFocusPos returns the coordinates in the EPSG3857 coordinate system,
The same applies to setter methods like MapView::setFocusPos which expect the input coordinates to be in the base projection's coordinate system.
The default is EPSG3857.- Parameters:
baseProjection- The new base projection.
-
getTerrainOptions
Returns the terrain options. May be null if no terrain is configured.- Returns:
- The terrain options.
-
setTerrainOptions
Sets the terrain options. When set, 3D terrain is rendered using the elevation
data source of the terrain options. Note that terrain is currently only supported
with the PLANAR render projection mode. Setting null disables terrain.
Note: this feature is experimental and may change in future SDK versions.- Parameters:
terrainOptions- The new terrain options. Can be null.
-
getSkyOptions
Returns the sky options. May be null.- Returns:
- The sky options.
-
setSkyOptions
Sets the sky options. Attaching a SkyOptions object replaces the legacy sky bitmap
band with a full-screen shader sky. Pass a null pointer to go back to the legacy sky.- Parameters:
skyOptions- The new sky options.
-
getFogOptions
Returns the fog (atmosphere) options. May be null.- Returns:
- The fog options.
-
setFogOptions
Sets the fog options - the haze distant ground fades into and the colours it carries
into the sky. Setting null, or leaving the fog color transparent, means no fog.- Parameters:
fogOptions- The new fog options. Can be null.
-
getLightOptions
Returns the light (sun) options. May be null.- Returns:
- The light options.
-
setLightOptions
Sets the light (sun) options. The sun direction drives the shader sky, terrain
surface lighting and shadows.- Parameters:
lightOptions- The new light options.
-
setLayersLabelsProcessedInReverseOrder
public void setLayersLabelsProcessedInReverseOrder(boolean enabled) Sets wether layers are processed in reversed order to process labels.
The default is true.- Parameters:
enabled- wether to process layers in reversed order.
-
isLayersLabelsProcessedInReverseOrder
public boolean isLayersLabelsProcessedInReverseOrder()Returns wether layers are processed in reversed order to process labels.- Returns:
- True if layers are processed in reversed order.
-