Online Maps  v3
OnlineMapsControlBaseDynamicMesh Class Reference

The base class that implements the display of the map on the dynamic mesh. More...

Inheritance diagram for OnlineMapsControlBaseDynamicMesh:
OnlineMapsControlBase3D OnlineMapsControlBase IOnlineMapsSavableComponent OnlineMapsTileSetControl

Public Types

enum  CreateMapTarget { CreateMapTarget.currentGameobject, CreateMapTarget.newGameobject }
 Where to create a mesh? More...
 

Public Member Functions

override void GetPosition (double lng, double lat, out double px, out double py)
 Converts geographical coordinate to position in the scene relative to the top-left corner of the map in map space. More...
 
override Vector2 GetScreenPosition (double lng, double lat)
 Converts geographical coordinate to position in screen space. More...
 
Vector3 GetWorldPosition (Vector2 coords)
 Converts geographical coordinates to position in world space. More...
 
Vector3 GetWorldPosition (double lng, double lat)
 Converts geographical coordinates to position in world space. More...
 
Vector3 GetWorldPositionWithElevation (double lng, double lat)
 Converts geographical coordinates to position in world space with elevation. More...
 
Vector3 GetWorldPositionWithElevation (Vector2 coords, Vector2 topLeftPosition, Vector2 bottomRightPosition)
 Converts geographical coordinates to position in world space with elevation. More...
 
Vector3 GetWorldPositionWithElevation (Vector2 coords, double tlx, double tly, double brx, double bry)
 Converts geographical coordinates to position in world space with elevation. More...
 
Vector3 GetWorldPositionWithElevation (double lng, double lat, double tlx, double tly, double brx, double bry)
 Converts geographical coordinates to position in world space with elevation. More...
 
Vector3 GetWorldPositionWithElevation (double lng, double lat, float altitude)
 Converts geographical coordinates to position in world space with elevation. More...
 
override void UpdateControl ()
 Updates the current control. More...
 
- Public Member Functions inherited from OnlineMapsControlBase3D
OnlineMapsMarkerInstanceBase GetBillboardMarkerFromScreen (Vector2 screenPosition)
 Gets billboard marker on the screen position. More...
 
override IOnlineMapsInteractiveElement GetInteractiveElement (Vector2 screenPosition)
 Get the interactive element located at the screen position. More...
 
- Public Member Functions inherited from OnlineMapsControlBase
virtual OnlineMapsTile CreateTile (int x, int y, int zoom, bool isMapTile=true)
 Creates a new tile. More...
 
Vector2 GetCoords ()
 Returns the geographical coordinates of the location where the cursor is. More...
 
Vector2 GetCoords (Vector2 position)
 Returns the geographical coordinates at the specified coordinates of the screen. More...
 
bool GetCoords (out double lng, out double lat)
 Returns the geographical coordinates of the location where the cursor is. More...
 
abstract bool GetCoords (Vector2 position, out double lng, out double lat)
 Returns the geographical coordinates of the location where the position is. More...
 
Vector2 GetInputPosition ()
 Returns the current cursor position. More...
 
Vector2 GetPosition (Vector2 coords)
 Converts geographical coordinate to position in the scene relative to the top-left corner of the map in map space. More...
 
virtual Rect GetRect ()
 Screen area occupied by the map. More...
 
OnlineMapsSavableItem[] GetSavableItems ()
 Returns an array of items to save More...
 
Vector2 GetScreenPosition (Vector2 coords)
 Converts geographical coordinate to position in screen space. More...
 
abstract bool GetTile (Vector2 position, out double tx, out double ty)
 Gets a tile by screen position. More...
 
int GetTouchCount ()
 Returns the current number of touches. More...
 
void InvokeBasePress ()
 Invokes OnMapBasePress. More...
 
void InvokeBaseRelease ()
 Invokes OnMapBaseRelease. More...
 
bool IsCursorOnUIElement (Vector2 position)
 Whether the screen position is on UI element More...
 
virtual void OnAwakeBefore ()
 Event that occurs before Awake. More...
 
virtual void SetTexture (Texture2D texture)
 Specifies the texture, which will draw the map. In texture must be enabled "Read / Write Enabled". More...
 
void UpdateLastPosition ()
 Force updates the latest coordinates of cursor. More...
 
bool ZoomOnPoint (float zoomOffset, Vector2 screenPosition)
 Changes the zoom keeping a specified point on same place. More...
 

Public Attributes

Action OnMeshUpdated
 Event that occurs after the map mesh has been updated. More...
 
Action OnUpdateMeshAfter
 The event is called after updating the map mesh. More...
 
Action OnUpdateMeshBefore
 The event is called before updating the map mesh More...
 
OnlineMapsTilesetCheckMarker2DVisibility checkMarker2DVisibility = OnlineMapsTilesetCheckMarker2DVisibility.pivot
 Type of checking 2D markers on visibility. More...
 
int elevationResolution = 32
 Resolution of the elevation map. More...
 
Material markerMaterial
 Material that will be used for marker. More...
 
Shader markerShader
 Shader of markers. More...
 
Vector2 sizeInScene = new Vector2(1024, 1024)
 Size of the map in the scene More...
 
- Public Attributes inherited from OnlineMapsControlBase3D
Action OnUpdate3DMarkers
 Called when drawing 3d markers. More...
 
Camera activeCamera
 The camera you are using to display the map. More...
 
OnlineMapsElevationManagerBase elevationManager
 Reference to the elevation manager More...
 
OnlineMapsMarker2DMode marker2DMode = OnlineMapsMarker2DMode.flat
 Mode of 2D markers. Bake in texture or Billboard. More...
 
float marker2DSize = 100
 Size of billboard markers. More...
 
OnlineMapsMarker3DManager marker3DManager
 Reference to marker 3D manager More...
 
- Public Attributes inherited from OnlineMapsControlBase
Action OnDrawMarkers
 Event that occurs when need to draw markers. More...
 
Func< Vector2 > OnGetInputPosition
 Event intercepts getting current cursor position. More...
 
Func< Vector2[]> OnGetMultitouchInputPositions
 The event intercepts getting of the current multitouch points. More...
 
Func< int > OnGetTouchCount
 Event intercepts getting number of touches. More...
 
Action OnMapClick
 Event that occurs when you click on the map. More...
 
Action OnMapDoubleClick
 Event that occurs when you double-click on the map. More...
 
Action OnMapDrag
 Event that occurs when you drag the map. More...
 
Action OnMapLongPress
 Event that occurs when you long press the map. More...
 
Action OnMapPress
 Event that occurs when you press on the map. More...
 
Action OnMapRelease
 Event that occurs when you release the map. More...
 
Action OnMapZoom
 Event that occurs when you zoom the map. More...
 
Action OnSmoothZoomBegin
 Event, which occurs when the smooth zoom is started. More...
 
Action OnSmoothZoomFinish
 Event, which occurs when the smooth zoom is finish. More...
 
Action OnSmoothZoomInit
 Event, which occurs when the smooth zoom is starts init. More...
 
Action OnSmoothZoomProcess
 Event, which occurs when the smooth zoom is process. More...
 
Action OnUpdateAfter
 Event that occurs at end Update. More...
 
Action OnUpdateBefore
 Event that occurs at start Update. More...
 
Predicate< GameObject > OnValidateCursorOnUIElement
 Event validating that cursor is on UI element.
True - cursor on UI element, false - otherwise. More...
 
Func< OnlineMapsZoomEvent, float, bool > OnValidateZoom
 Event validating that current zoom event is allowed.
True - zoom is allowed, false - forbidden. More...
 
Texture2D activeTexture
 Texture, which will draw the map.
To change the texture use OnlineMapsControlBase.SetTexture. More...
 
bool allowZoom = true
 Specifies whether the user can change zoom of the map. More...
 
bool allowUserControl = true
 Specifies whether the user can manipulate the map. More...
 
bool checkScreenSizeForWheelZoom = true
 Check that the input position is on the screen. More...
 
OnlineMapsDrawingElementManager drawingElementManager
 Reference to drawing element manager More...
 
bool isMapDrag
 Specifies whether to move map. More...
 
bool invertTouchZoom = false
 Inverts the map touch zoom for mobile devices. More...
 
OnlineMapsMarkerManager markerManager
 Reference to marker manager More...
 
bool smoothZoom = true
 Specifies whether to use a smooth touch zoom. More...
 
bool zoomInOnDoubleClick = true
 Allows you to zoom the map when double-clicked. More...
 
OnlineMapsZoomMode zoomMode = OnlineMapsZoomMode.target
 Mode of zoom. More...
 
float zoomSensitivity = 1
 Sensitivity of the zoom More...
 

Protected Member Functions

override void OnEnableLate ()
 Function that is called after control of the map enabled. More...
 
- Protected Member Functions inherited from OnlineMapsControlBase3D
override void AfterUpdate ()
 Function, which is executed after map updating. More...
 
override void OnDestroyLate ()
 Event is called after the control has been disposed. More...
 
- Protected Member Functions inherited from OnlineMapsControlBase
virtual void BeforeUpdate ()
 Function, which is executed before map updating. More...
 
void DragMarker ()
 Moves the marker to the location of the cursor. More...
 
bool HitTest ()
 Checks whether the cursor over the map. More...
 
virtual bool HitTest (Vector2 position)
 Checks whether specified position over the map. More...
 
virtual void OnGestureZoom (Vector2 p1, Vector2 p2)
 Called when a gesture zoom. More...
 
virtual void OnMapBasePress ()
 Method that is called when you press the map. More...
 
virtual void OnMapBaseRelease ()
 Method that is called when you release the map. More...
 
void UpdatePosition ()
 Updates the map coordinates for the actions of the user. More...
 
void UpdateZoom ()
 Updates the map zoom for mouse wheel. More...
 

Protected Attributes

bool colliderWithElevation
 Does the collider contain elevations? More...
 

Properties

OnlineMapsVector2i bufferPosition [get, set]
 Position of the buffer More...
 
Vector3 center [get]
 The center point of the map (without elevations) in local space. More...
 
bool hasElevation [get]
 Returns true when the elevation manager is available and enabled. More...
 
static new OnlineMapsControlBaseDynamicMesh instance [get]
 Singleton instance of OnlineMapsControlBaseDynamicMesh. More...
 
- Properties inherited from OnlineMapsControlBase3D
Camera? currentCamera [get]
 Reference to current camera More...
 
static new OnlineMapsControlBase3D instance [get]
 Singleton instance of OnlineMapsControlBase3D control. More...
 
Collider cl [get]
 Reference to the collider. More...
 
MeshFilter meshFilter [get]
 MeshFilter of the map More...
 
OnlineMapsMarker3DDrawer marker3DDrawer [get, set]
 Get/set marker 3D drawer More...
 
Renderer rendererInstance [get]
 Reference to the renderer. More...
 
- Properties inherited from OnlineMapsControlBase
static OnlineMapsControlBase instance [get]
 Singleton instance of map control. More...
 
virtual bool allowMarkerScreenRect [get]
 Indicates whether it is possible to get the screen coordinates store. True - for 2D map, false - for the 3D map. More...
 
virtual bool allowTouchZoom [get]
 Indicates whether it is possible to use the touch zoom. More...
 
OnlineMapsMarkerBase dragMarker [get, set]
 Marker that dragged at the moment. More...
 
OnlineMapsMarker2DDrawer markerDrawer [get, set]
 Gets/sets the marker drawer. More...
 
OnlineMaps map [get]
 Reference to map instance. More...
 
virtual bool mipmapForTiles [get, set]
 Mipmap for tiles. More...
 
virtual Rect screenRect [get]
 Screen area occupied by the map. More...
 
bool resultIsTexture [get]
 Whether the current control draws to a texture. More...
 
virtual OnlineMapsTarget resultType [get]
 The result type of the current control. More...
 
virtual bool useRasterTiles [get]
 Whether the current control uses raster tiles. More...
 
virtual Rect uvRect [get]
 UV rectangle used by the texture of the map. NGUI: uiTexture.uvRect. Other: new Rect(0, 0, 1, 1); More...
 

Additional Inherited Members

- Static Public Attributes inherited from OnlineMapsControlBase
static float longPressDelay = 1
 Delay before invoking event OnMapLongPress. More...
 
static float startDragDistance = 4
 Distance (pixels) after which will start drag the map. More...
 
- Static Protected Attributes inherited from OnlineMapsControlBase
static OnlineMapsControlBase _instance
 Singleton of control More...
 

Detailed Description

The base class that implements the display of the map on the dynamic mesh.

Member Enumeration Documentation

◆ CreateMapTarget

Where to create a mesh?

Enumerator
currentGameobject 

On the current GameObject

newGameobject 

On the new GameObject

Member Function Documentation

◆ GetPosition()

override void OnlineMapsControlBaseDynamicMesh.GetPosition ( double  lng,
double  lat,
out double  px,
out double  py 
)
virtual

Converts geographical coordinate to position in the scene relative to the top-left corner of the map in map space.

Parameters
lngLongitude
latLatitude
pxRelative position X
pyRelative position Y

Reimplemented from OnlineMapsControlBase.

◆ GetScreenPosition()

override Vector2 OnlineMapsControlBaseDynamicMesh.GetScreenPosition ( double  lng,
double  lat 
)
virtual

Converts geographical coordinate to position in screen space.

Parameters
lngLongitude
latLatitude
Returns
Screen space position

Reimplemented from OnlineMapsControlBase3D.

◆ GetWorldPosition() [1/2]

Vector3 OnlineMapsControlBaseDynamicMesh.GetWorldPosition ( double  lng,
double  lat 
)

Converts geographical coordinates to position in world space.

Parameters
lngLongitude
latLatitude
Returns

◆ GetWorldPosition() [2/2]

Vector3 OnlineMapsControlBaseDynamicMesh.GetWorldPosition ( Vector2  coords)

Converts geographical coordinates to position in world space.

Parameters
coordsGeographical coordinates.
Returns
Position in world space.

◆ GetWorldPositionWithElevation() [1/5]

Vector3 OnlineMapsControlBaseDynamicMesh.GetWorldPositionWithElevation ( double  lng,
double  lat 
)

Converts geographical coordinates to position in world space with elevation.

Parameters
lngLongitude
latLaatitude
Returns
Position in world space.

◆ GetWorldPositionWithElevation() [2/5]

Vector3 OnlineMapsControlBaseDynamicMesh.GetWorldPositionWithElevation ( double  lng,
double  lat,
double  tlx,
double  tly,
double  brx,
double  bry 
)

Converts geographical coordinates to position in world space with elevation.

Parameters
lngLongitude
latLatitude
tlxTop-left longitude.
tlyTop-left latitude.
brxBottom-right longitude.
bryBottom-right latitude.
Returns
Position in world space.

◆ GetWorldPositionWithElevation() [3/5]

Vector3 OnlineMapsControlBaseDynamicMesh.GetWorldPositionWithElevation ( double  lng,
double  lat,
float  altitude 
)

Converts geographical coordinates to position in world space with elevation.

Parameters
lngLongitude
latLatitude
altitudeAltitude
Returns
Position in world space.

◆ GetWorldPositionWithElevation() [4/5]

Vector3 OnlineMapsControlBaseDynamicMesh.GetWorldPositionWithElevation ( Vector2  coords,
double  tlx,
double  tly,
double  brx,
double  bry 
)

Converts geographical coordinates to position in world space with elevation.

Parameters
coordsGeographical coordinates.
tlxTop-left longitude.
tlyTop-left latitude.
brxBottom-right longitude.
bryBottom-right latitude.
Returns
Position in world space.

◆ GetWorldPositionWithElevation() [5/5]

Vector3 OnlineMapsControlBaseDynamicMesh.GetWorldPositionWithElevation ( Vector2  coords,
Vector2  topLeftPosition,
Vector2  bottomRightPosition 
)

Converts geographical coordinates to position in world space with elevation.

Parameters
coordsGeographical coordinates.
topLeftPositionCoordinates of top-left corner of map.
bottomRightPositionCoordinates of bottom-right corner of map.
Returns
Position in world space.

◆ OnEnableLate()

override void OnlineMapsControlBaseDynamicMesh.OnEnableLate ( )
protectedvirtual

Function that is called after control of the map enabled.

Reimplemented from OnlineMapsControlBase3D.

◆ UpdateControl()

override void OnlineMapsControlBaseDynamicMesh.UpdateControl ( )
virtual

Updates the current control.

Reimplemented from OnlineMapsControlBase3D.

Member Data Documentation

◆ checkMarker2DVisibility

OnlineMapsTilesetCheckMarker2DVisibility OnlineMapsControlBaseDynamicMesh.checkMarker2DVisibility = OnlineMapsTilesetCheckMarker2DVisibility.pivot

Type of checking 2D markers on visibility.

◆ colliderWithElevation

bool OnlineMapsControlBaseDynamicMesh.colliderWithElevation
protected

Does the collider contain elevations?

◆ elevationResolution

int OnlineMapsControlBaseDynamicMesh.elevationResolution = 32

Resolution of the elevation map.

◆ markerMaterial

Material OnlineMapsControlBaseDynamicMesh.markerMaterial

Material that will be used for marker.

◆ markerShader

Shader OnlineMapsControlBaseDynamicMesh.markerShader

Shader of markers.

◆ OnMeshUpdated

Action OnlineMapsControlBaseDynamicMesh.OnMeshUpdated

Event that occurs after the map mesh has been updated.

◆ OnUpdateMeshAfter

Action OnlineMapsControlBaseDynamicMesh.OnUpdateMeshAfter

The event is called after updating the map mesh.

◆ OnUpdateMeshBefore

Action OnlineMapsControlBaseDynamicMesh.OnUpdateMeshBefore

The event is called before updating the map mesh

◆ sizeInScene

Vector2 OnlineMapsControlBaseDynamicMesh.sizeInScene = new Vector2(1024, 1024)

Size of the map in the scene

Property Documentation

◆ bufferPosition

OnlineMapsVector2i OnlineMapsControlBaseDynamicMesh.bufferPosition
getset

Position of the buffer

◆ center

Vector3 OnlineMapsControlBaseDynamicMesh.center
get

The center point of the map (without elevations) in local space.

◆ hasElevation

bool OnlineMapsControlBaseDynamicMesh.hasElevation
get

Returns true when the elevation manager is available and enabled.

◆ instance

new OnlineMapsControlBaseDynamicMesh OnlineMapsControlBaseDynamicMesh.instance
staticget

Singleton instance of OnlineMapsControlBaseDynamicMesh.