Package com.yandex.mapkit.map
Interface MapWindow
interface MapWindow
Handles the MapWindow element.
Summary
Methods
Type and modifiers |
Method and Description |
getMap() |
|
int |
width() |
int |
height() |
worldToScreen(@NonNull Point worldPoint) |
|
screenToWorld(@NonNull ScreenPoint screenPoint) |
|
getFocusRect() |
|
void |
setFocusRect(@Nullable ScreenRect focusRect) |
getFocusPoint() |
|
void |
setFocusPoint(@Nullable ScreenPoint focusPoint) |
getGestureFocusPoint() |
|
void |
setGestureFocusPoint(@Nullable ScreenPoint gestureFocusPoint) |
getGestureFocusPointMode() |
|
void |
setGestureFocusPointMode(@NonNull GestureFocusPointMode gestureFocusPointMode) |
getPointOfView() |
|
void |
setPointOfView(@NonNull PointOfView pointOfView) |
getFocusRegion() |
|
void |
addSizeChangedListener(@NonNull SizeChangedListener sizeChangedListener) |
void |
removeSizeChangedListener(@NonNull SizeChangedListener sizeChangedListener) |
void |
setScaleFactor(float scaleFactor) |
boolean |
isValid() |
Methods
getMap
@NonNull |
Gets the map interface.
width
int width() |
Window width in physical pixels
height
int height() |
Window height in physical pixels
worldToScreen
@Nullable |
Transforms the position from world coordinates to screen coordinates.
Parameters |
|
|
Latitude and longitude information. |
Returns |
The point in screen space corresponding to worldPoint; returns none if the point is behind the camera. |
screenToWorld
@Nullable |
Transforms coordinates from screen space to world space.
Parameters |
|
|
The point in screen coordinates relative to the top left of the map. These coordinates are in physical pixels and not in device independent (virtual) pixels. |
Returns |
Latitude and longitude information. |
getFocusRect
@Nullable |
When using controls that overlay the map view, calculating the proper camera position can be tricky.
This property simplifies the task by defining the area of interest (the focus rectangle) inside the view. Map methods that calculate the camera position based on a world bounding box ensure that this bounding box will fit into the focusRect.
For example, when using a semi-transparent control that overlays the top half of the map view, define the focus rectangle as the lower half of the view to ensure that object of interest appear in the lower half of map view. In addition, if focusPoint is null all camera movements will have the center of the lower half as their target.
If focusRect is null, the whole map view is used instead.
On iOS, if you change the focus rectangle in the viewDidLayoutSubviews callback, it's recommended to call MapView.layoutIfNeeded just before that action.
Optional property, can be null.
setFocusRect
void setFocusRect(@Nullable ScreenRect focusRect) |
getFocusPoint
@Nullable |
The point on the screen that corresponds to camera position.
Changing camera position or focusPoint makes the new camera target appear exactly at the focusPoint on screen.
If focusPoint is null, the center of focusRect is used instead.
Optional property, can be null.
setFocusPoint
void setFocusPoint(@Nullable ScreenPoint focusPoint) |
getGestureFocusPoint
@Nullable |
Defines the focus point of gestures.
Actual behaviour depends on gestureFocusPointMode. If the point is not set, the source point of the gesture will be used as the focus point. Default: none.
Optional property, can be null.
setGestureFocusPoint
void setGestureFocusPoint(@Nullable ScreenPoint gestureFocusPoint) |
getGestureFocusPointMode
@NonNull |
Specifies the way provided gesture focus point affects gestures.
Default: TapGestures.
setGestureFocusPointMode
void setGestureFocusPointMode(@NonNull GestureFocusPointMode gestureFocusPointMode) |
getPointOfView
@NonNull |
Defines the position of the point of view.
Cameras use perspective projection, which causes perspective deformations. Perspective projection has an axis, and points on this axis are not affected by perspective deformations. This axis is a line parallel to the view's direction, so its projection to the screen is a point - the "point of view". By default, this point is at the center of the screen, but some applications might want to set it to the center of focusRect. Use this flag to do so. Default: ScreenCenter
setPointOfView
void setPointOfView(@NonNull PointOfView pointOfView) |
getFocusRegion
@NonNull |
Gets the focused region.
Returns |
A region that corresponds to the current focusRect or the visible region if focusRect is not set. Region IS bounded by latitude limits [-90, 90] and IS NOT bounded by longitude limits [-180, 180]. If longitude exceeds its limits, we see the world's edge and another instance of the world beyond this edge. |
addSizeChangedListener
void addSizeChangedListener(@NonNull SizeChangedListener sizeChangedListener) |
Adds a SizeChangedListener.
The class does not retain the object in the 'sizeChangedListener' parameter. It is your responsibility to maintain a strong reference to the target object while it is attached to a class.
removeSizeChangedListener
void removeSizeChangedListener(@NonNull SizeChangedListener sizeChangedListener) |
Removes a SizeChangedListener.
setScaleFactor
void setScaleFactor(float scaleFactor) |
isValid
boolean isValid() |
Tells if this MapWindow is valid or not.
Any other method (except for this one) called on an invalid MapWindow will throw java.lang.RuntimeException. An instance becomes invalid only on UI thread, and only when its implementation depends on objects already destroyed by now. Please refer to general docs about the interface for details on its invalidation.