Package globus.glmap
Class GLMapDrawable
- java.lang.Object
-
- globus.glmap.GLNativeObject
-
- globus.glmap.GLMapDrawObject
-
- globus.glmap.GLMapDrawable
-
public class GLMapDrawable extends GLMapDrawObject
GLMapDrawableis a bridge class that displays single object on map. This can be image, text or vector object.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceGLMapDrawable.TransformMode
-
Constructor Summary
Constructors Constructor Description GLMapDrawable()Creates new empty image that will be injected to mapGLMapDrawable(int drawOrder)Creates new empty image with given draw orderGLMapDrawable(android.graphics.Bitmap bitmap, int drawOrder)Creates image with given draw order and sets bitmap to it
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description floatgetAngle()Angle of imageintgetHeight()Loaded image height.MapPointgetOffset()Offset of imageMapPointgetPosition()Position of imagedoublegetScale()Scale of vector objectintgetWidth()Loaded image width.booleanhitTest(GLMapViewRenderer mapView, float screenX, float screenY, int paddingLeft, int paddingRight, int paddingTop, int paddingBottom)Tests if point is inside of imagebooleanisRotatesWithMap()Whether image rotates with the mapvoidsetAngle(float angle)Sets angle of image.voidsetBitmap(android.graphics.Bitmap bitmap)Sets new image to drawvoidsetBitmap(android.graphics.Bitmap bitmap, java.lang.Runnable onReadyToDraw)Sets new image to drawvoidsetOffset(int offsetX, int offsetY)Image offset from position.voidsetPosition(MapPoint position)Sets position of image on map.voidsetRotatesWithMap(boolean rotate)Sets whether image rotates with the map.voidsetScale(double scale)Scale of vector objectvoidsetText(java.lang.String text, GLMapVectorStyle style)Sets new text to drawvoidsetText(java.lang.String text, GLMapVectorStyle style, java.lang.Runnable onReadyToDraw)Sets new text to drawvoidsetTransformMode(int transformMode)If drawable contains vector object and you will use position and scale to transform vector object, then set this to TransformMode.Custom.voidsetVectorObject(GLMapVectorObject object, GLMapVectorCascadeStyle style, java.lang.Runnable onReadyToDraw)Sets vector object to drawvoidsetVectorObjects(GLMapVectorObjectList objects, GLMapVectorCascadeStyle style, java.lang.Runnable onReadyToDraw)Sets vector objects to draw-
Methods inherited from class globus.glmap.GLMapDrawObject
getDrawOrder, isHidden, setHidden
-
Methods inherited from class globus.glmap.GLNativeObject
dispose
-
-
-
-
Constructor Detail
-
GLMapDrawable
public GLMapDrawable(int drawOrder)
Creates new empty image with given draw order- Parameters:
drawOrder- Draw order used to sort objects on map
-
GLMapDrawable
public GLMapDrawable(@NonNull android.graphics.Bitmap bitmap, int drawOrder)Creates image with given draw order and sets bitmap to it- Parameters:
bitmap- bitmap to setdrawOrder- Draw order used to sort objects on map
-
GLMapDrawable
public GLMapDrawable()
Creates new empty image that will be injected to map
-
-
Method Detail
-
setBitmap
public void setBitmap(@NonNull android.graphics.Bitmap bitmap, @Nullable java.lang.Runnable onReadyToDraw)Sets new image to draw- Parameters:
bitmap- new image to drawonReadyToDraw- optional runnable that called when image ready to draw
-
setBitmap
public void setBitmap(@NonNull android.graphics.Bitmap bitmap)Sets new image to draw- Parameters:
bitmap- new image to draw
-
setText
public void setText(@NonNull java.lang.String text, @NonNull GLMapVectorStyle style, @Nullable java.lang.Runnable onReadyToDraw)Sets new text to draw- Parameters:
text- new text to drawstyle- style of the textonReadyToDraw- optional runnable that called when text ready to draw
-
setText
public void setText(@NonNull java.lang.String text, @NonNull GLMapVectorStyle style)Sets new text to draw- Parameters:
text- new text to drawstyle- style of the text
-
setVectorObject
public void setVectorObject(@NonNull GLMapVectorObject object, @NonNull GLMapVectorCascadeStyle style, @Nullable java.lang.Runnable onReadyToDraw)Sets vector object to draw- Parameters:
object- object to drawstyle- style of objectonReadyToDraw- optional runnable that called when object is ready to draw
-
setVectorObjects
public void setVectorObjects(@NonNull GLMapVectorObjectList objects, @NonNull GLMapVectorCascadeStyle style, @Nullable java.lang.Runnable onReadyToDraw)Sets vector objects to draw- Parameters:
objects- objects to drawstyle- style of objectonReadyToDraw- optional runnable that called when object is ready to draw
-
hitTest
public boolean hitTest(@NonNull GLMapViewRenderer mapView, float screenX, float screenY, int paddingLeft, int paddingRight, int paddingTop, int paddingBottom)Tests if point is inside of image- Parameters:
mapView- mapView where image is displayedscreenX- x coordinate of point to checkscreenY- y coordinate of point to checkpaddingLeft- left paddingpaddingRight- right paddingpaddingTop- top paddingpaddingBottom- bottom padding- Returns:
- `true` if point is inside image
-
setPosition
public void setPosition(@NonNull MapPoint position)Sets position of image on map.image.setPosition(GLMapView.convertGeoToInternal(new MapPoint(-74.0, 40.7))); //New York- Parameters:
position- position coordinates in internal format of GLMapView- See Also:
MapPoint
-
getPosition
public MapPoint getPosition()
Position of image- Returns:
- position of image in internal coordinates of GLMapView
-
setScale
public void setScale(double scale)
Scale of vector object- Parameters:
scale- new scale for vector object
-
getScale
public double getScale()
Scale of vector object- Returns:
- scale of vector object
-
setAngle
public void setAngle(float angle)
Sets angle of image.image.setAngle(45);- Parameters:
angle- angle to set
-
getAngle
public float getAngle()
Angle of image- Returns:
- angle of image in degrees.
-
getWidth
public int getWidth()
Loaded image width.- Returns:
- width of image in pixels.
-
getHeight
public int getHeight()
Loaded image height.- Returns:
- height of image in pixels.
-
setRotatesWithMap
public void setRotatesWithMap(boolean rotate)
Sets whether image rotates with the map.- Parameters:
rotate-trueto rotate with map
-
isRotatesWithMap
public boolean isRotatesWithMap()
Whether image rotates with the map- Returns:
- true if image rotates with the map
-
setOffset
public void setOffset(int offsetX, int offsetY)Image offset from position. When offset is (0,0), bottom left corner of image is displayed atpositionimage.setOffset(bmp.getWidth()/2, bmp.getHeight()/2); // image center displayed at position- Parameters:
offsetX- x offset of imageoffsetY- y offset of image- See Also:
setPosition(MapPoint)
-
setTransformMode
public void setTransformMode(int transformMode)
If drawable contains vector object and you will use position and scale to transform vector object, then set this to TransformMode.Custom.- Parameters:
transformMode- mode of transforming position and scale
-
getOffset
@NonNull public MapPoint getOffset()
Offset of image- Returns:
- offset of image in pixels
-
-