MMKMapWindow
class MMKMapWindow : NSObject |
Handles the MapWindow element.
Summary
Instance methods
func width() -> Int |
func height() -> Int |
func worldToScreen(withWorldPoint worldPoint: MMKPoint) -> MMKScreenPoint? |
func screenToWorld(with screenPoint: MMKScreenPoint) -> MMKPoint? |
func addSizeChangedListener(with sizeChangedListener: MMKMapSizeChangedListener) |
func removeSizeChangedListener(with sizeChangedListener: MMKMapSizeChangedListener) |
Properties
var focusRect: MMKScreenRect? { get set } |
var focusPoint: MMKScreenPoint? { get set } |
var gestureFocusPoint: MMKScreenPoint? { get set } |
var gestureFocusPointMode: MMKGestureFocusPointMode { get set } |
var pointOfView: MMKPointOfView { get set } |
var focusRegion: MMKVisibleRegion { get } |
var isValid: Bool { get } |
Instance methods
width()
func width() -> Int |
Window width in physical pixels
height()
func height() -> Int |
Window height in physical pixels
worldToScreen(withWorldPoint:)
func worldToScreen(withWorldPoint worldPoint: MMKPoint) -> MMKScreenPoint? |
Transforms the position from world coordinates to screen coordinates.
Parameters |
|
worldPoint |
Latitude and longitude information. |
Returns |
The point in screen space corresponding to worldPoint; |
screenToWorld(with:)
func screenToWorld(with screenPoint: MMKScreenPoint) -> MMKPoint? |
Transforms coordinates from screen space to world space.
Parameters |
|
screenPoint |
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. |
addSizeChangedListener(with:)
func addSizeChangedListener(with sizeChangedListener: MMKMapSizeChangedListener) |
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(with:)
func removeSizeChangedListener(with sizeChangedListener: MMKMapSizeChangedListener) |
Removes a SizeChangedListener.
Properties
map
var map: MMKMap { get } |
Gets the map interface.
focusRect
var focusRect: MMKScreenRect? { get set } |
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 nil.
focusPoint
var focusPoint: MMKScreenPoint? { get set } |
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 nil.
gestureFocusPoint
var gestureFocusPoint: MMKScreenPoint? { get set } |
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 nil.
gestureFocusPointMode
var gestureFocusPointMode: MMKGestureFocusPointMode { get set } |
Specifies the way provided gesture focus point affects gestures. Default: TapGestures.
pointOfView
var pointOfView: MMKPointOfView { get set } |
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
focusRegion
var focusRegion: MMKVisibleRegion { get } |
Gets the focused region.
Returns |
A region that corresponds to the current focusRect or the |
isValid
var isValid: Bool { get } |
Tells if this object is valid or no. Any method called on an invalid object will throw an exception. The object 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.