Package globus.glmap
Class GLMapView
java.lang.Object
android.view.View
android.view.SurfaceView
globus.glmap.GLMapView
- All Implemented Interfaces:
android.graphics.drawable.Drawable.Callback,android.view.accessibility.AccessibilityEventSource,android.view.KeyEvent.Callback,android.view.SurfaceHolder.Callback,android.view.SurfaceHolder.Callback2,android.view.TextureView.SurfaceTextureListener
@ParametersAreNonnullByDefault
public class GLMapView
extends android.view.SurfaceView
implements android.view.SurfaceHolder.Callback2, android.view.TextureView.SurfaceTextureListener
GLMapView is a custom SurfaceView that renders and presents vector map-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceGLMapView.AnimateCallbackCalled to configure animation.static interfaceGLMapView.GLMapPlacementstatic interfaceGLMapView.GLMapTileStatestatic interfaceGLMapView.GLUnitSystemstatic interfaceGLMapView.ScreenCaptureCallbackCalled when GLMapView finished rendering map and text to Bitmapstatic interfaceGLMapView.ScreenCaptureRawCallbackCalled when GLMapView finished rendering map and text to raw dataNested classes/interfaces inherited from class android.view.View
android.view.View.AccessibilityDelegate, android.view.View.BaseSavedState, android.view.View.DragShadowBuilder, android.view.View.MeasureSpec, android.view.View.OnApplyWindowInsetsListener, android.view.View.OnAttachStateChangeListener, android.view.View.OnCapturedPointerListener, android.view.View.OnClickListener, android.view.View.OnContextClickListener, android.view.View.OnCreateContextMenuListener, android.view.View.OnDragListener, android.view.View.OnFocusChangeListener, android.view.View.OnGenericMotionListener, android.view.View.OnHoverListener, android.view.View.OnKeyListener, android.view.View.OnLayoutChangeListener, android.view.View.OnLongClickListener, android.view.View.OnScrollChangeListener, android.view.View.OnSystemUiVisibilityChangeListener, android.view.View.OnTouchListener, android.view.View.OnUnhandledKeyEventListener -
Field Summary
Fields Modifier and Type Field Description ImageManagerimageManagerfloatscreenScaleandroid.view.TextureViewtextureViewFields inherited from class android.view.View
ACCESSIBILITY_LIVE_REGION_ASSERTIVE, ACCESSIBILITY_LIVE_REGION_NONE, ACCESSIBILITY_LIVE_REGION_POLITE, ALPHA, AUTOFILL_FLAG_INCLUDE_NOT_IMPORTANT_VIEWS, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DATE, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_DAY, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_MONTH, AUTOFILL_HINT_CREDIT_CARD_EXPIRATION_YEAR, AUTOFILL_HINT_CREDIT_CARD_NUMBER, AUTOFILL_HINT_CREDIT_CARD_SECURITY_CODE, AUTOFILL_HINT_EMAIL_ADDRESS, AUTOFILL_HINT_NAME, AUTOFILL_HINT_PASSWORD, AUTOFILL_HINT_PHONE, AUTOFILL_HINT_POSTAL_ADDRESS, AUTOFILL_HINT_POSTAL_CODE, AUTOFILL_HINT_USERNAME, AUTOFILL_TYPE_DATE, AUTOFILL_TYPE_LIST, AUTOFILL_TYPE_NONE, AUTOFILL_TYPE_TEXT, AUTOFILL_TYPE_TOGGLE, DRAG_FLAG_GLOBAL, DRAG_FLAG_GLOBAL_PERSISTABLE_URI_PERMISSION, DRAG_FLAG_GLOBAL_PREFIX_URI_PERMISSION, DRAG_FLAG_GLOBAL_URI_READ, DRAG_FLAG_GLOBAL_URI_WRITE, DRAG_FLAG_OPAQUE, DRAWING_CACHE_QUALITY_AUTO, DRAWING_CACHE_QUALITY_HIGH, DRAWING_CACHE_QUALITY_LOW, FIND_VIEWS_WITH_CONTENT_DESCRIPTION, FIND_VIEWS_WITH_TEXT, FOCUS_BACKWARD, FOCUS_DOWN, FOCUS_FORWARD, FOCUS_LEFT, FOCUS_RIGHT, FOCUS_UP, FOCUSABLE, FOCUSABLE_AUTO, FOCUSABLES_ALL, FOCUSABLES_TOUCH_MODE, GONE, HAPTIC_FEEDBACK_ENABLED, IMPORTANT_FOR_ACCESSIBILITY_AUTO, IMPORTANT_FOR_ACCESSIBILITY_NO, IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS, IMPORTANT_FOR_ACCESSIBILITY_YES, IMPORTANT_FOR_AUTOFILL_AUTO, IMPORTANT_FOR_AUTOFILL_NO, IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_AUTOFILL_YES, IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, IMPORTANT_FOR_CONTENT_CAPTURE_NO, IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, IMPORTANT_FOR_CONTENT_CAPTURE_YES, IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, INVISIBLE, KEEP_SCREEN_ON, LAYER_TYPE_HARDWARE, LAYER_TYPE_NONE, LAYER_TYPE_SOFTWARE, LAYOUT_DIRECTION_INHERIT, LAYOUT_DIRECTION_LOCALE, LAYOUT_DIRECTION_LTR, LAYOUT_DIRECTION_RTL, MEASURED_HEIGHT_STATE_SHIFT, MEASURED_SIZE_MASK, MEASURED_STATE_MASK, MEASURED_STATE_TOO_SMALL, NO_ID, NOT_FOCUSABLE, OVER_SCROLL_ALWAYS, OVER_SCROLL_IF_CONTENT_SCROLLS, OVER_SCROLL_NEVER, ROTATION, ROTATION_X, ROTATION_Y, SCALE_X, SCALE_Y, SCREEN_STATE_OFF, SCREEN_STATE_ON, SCROLL_AXIS_HORIZONTAL, SCROLL_AXIS_NONE, SCROLL_AXIS_VERTICAL, SCROLL_INDICATOR_BOTTOM, SCROLL_INDICATOR_END, SCROLL_INDICATOR_LEFT, SCROLL_INDICATOR_RIGHT, SCROLL_INDICATOR_START, SCROLL_INDICATOR_TOP, SCROLLBAR_POSITION_DEFAULT, SCROLLBAR_POSITION_LEFT, SCROLLBAR_POSITION_RIGHT, SCROLLBARS_INSIDE_INSET, SCROLLBARS_INSIDE_OVERLAY, SCROLLBARS_OUTSIDE_INSET, SCROLLBARS_OUTSIDE_OVERLAY, SOUND_EFFECTS_ENABLED, STATUS_BAR_HIDDEN, STATUS_BAR_VISIBLE, SYSTEM_UI_FLAG_FULLSCREEN, SYSTEM_UI_FLAG_HIDE_NAVIGATION, SYSTEM_UI_FLAG_IMMERSIVE, SYSTEM_UI_FLAG_IMMERSIVE_STICKY, SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN, SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION, SYSTEM_UI_FLAG_LAYOUT_STABLE, SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR, SYSTEM_UI_FLAG_LOW_PROFILE, SYSTEM_UI_FLAG_VISIBLE, SYSTEM_UI_LAYOUT_FLAGS, TEXT_ALIGNMENT_CENTER, TEXT_ALIGNMENT_GRAVITY, TEXT_ALIGNMENT_INHERIT, TEXT_ALIGNMENT_TEXT_END, TEXT_ALIGNMENT_TEXT_START, TEXT_ALIGNMENT_VIEW_END, TEXT_ALIGNMENT_VIEW_START, TEXT_DIRECTION_ANY_RTL, TEXT_DIRECTION_FIRST_STRONG, TEXT_DIRECTION_FIRST_STRONG_LTR, TEXT_DIRECTION_FIRST_STRONG_RTL, TEXT_DIRECTION_INHERIT, TEXT_DIRECTION_LOCALE, TEXT_DIRECTION_LTR, TEXT_DIRECTION_RTL, TRANSLATION_X, TRANSLATION_Y, TRANSLATION_Z, VISIBLE, X, Y, Z -
Constructor Summary
Constructors Constructor Description GLMapView(android.content.Context context)Creates map viewGLMapView(android.content.Context context, android.util.AttributeSet attrs)Creates map viewGLMapView(android.content.Context context, android.util.AttributeSet attrs, int defStyle)Creates map viewGLMapView(android.content.Context context, android.view.TextureView textureView)Creates map view -
Method Summary
Modifier and Type Method Description voidadd(GLMapDrawObject drawObject)Adds the GLMapDrawObject to map.GLMapAnimationanimate(GLMapView.AnimateCallback callback)Create and starts animation using provided callbackGLMapAnimationanimate(GLMapView.AnimateCallback callback, java.lang.Runnable onFinish)Create and starts animation using provided callbackstatic doublebearingAngle(MapGeoPoint from, MapGeoPoint to)Calculates bearing between two geo pointsvoidcaptureFrameWhenFinish(GLMapView.ScreenCaptureCallback callback)Captures frame when surface will be created and loading of resources finished.MapPointconvertDisplayDeltaToInternal(MapPoint val)Converts a distance between two points on the screen to delta in internal format of GLMapView.MapPointconvertDisplayDeltaToInternal(MapPoint val, double mapZoom, double mapAngle)Converts a distance between two points on the screen to delta in internal format of GLMapView.MapPointconvertDisplayToInternal(MapPoint val)Converts a point on the surface to an internal map coordinate.MapPointconvertInternalToDisplay(MapPoint val)Converts a point in internal format of GLMapView to point on the surface of view.doubleconvertMetersToInternal(double meters)Converts meters distance to internal distancestatic voidcrashNDK()static voidcrashNDK2()static doubledistanceInMeters(MapGeoPoint from, MapGeoPoint to)Calculates distance between two geo pointsvoiddoWhenSurfaceCreated(java.lang.Runnable r)Runs command on internal rendering thread.static voidForceOpenGL2()After calling this function any new GLMapView will use OpenGL 2.0 even if device supports OpenGL 3.0 Some cheap Android devices have problems with drivers.GLMapTileSourcegetBase()GLMapBBoxgetBBox()BBox of current visible part of GLMapViewintgetCenterTileState()Return state of center tileMapPointgetCurrentMapCenter(MapPoint point)Gets current coordinates of the origin point of the map.doublegetCurrentMapScale()Gets current scale of the map.doublegetCurrentMapZoom()Gets current zoom level of the map.booleangetDrawElevationLines()booleangetDrawHillshades()floatgetFontScale()floatgetFps()Returns fpsGLMapGesturesDetectorgetGesturesDetector()android.os.HandlergetHandler()GLMapLocaleSettingsgetLocaleSettings()floatgetMapAngle()Gets current angle of the map.MapPointgetMapCenter()Gets coordinates of the origin point of the map.MapPointgetMapCenter(MapPoint point)Gets coordinates of the origin point of the map.MapGeoPointgetMapGeoCenter()Gets coordinates of the origin point of the map.MapPointgetMapOrigin()MapPointgetMapOrigin(MapPoint point)Origin point of the map coordinate system.doublegetMapScale()Gets scale of the map.doublegetMapZoom()Get zoom level of the map.doublegetMaxScale()Gets maximum scale of the mapGLMapTileSource[]getOverlays()doublemapZoomForBBox(GLMapBBox bbox, int mapWidth, int mapHeight)Calculates zoom of map to fit given bboxvoidonSurfaceTextureAvailable(android.graphics.SurfaceTexture surfaceTexture, int width, int height)booleanonSurfaceTextureDestroyed(android.graphics.SurfaceTexture surfaceTexture)voidonSurfaceTextureSizeChanged(android.graphics.SurfaceTexture surfaceTexture, int width, int height)voidonSurfaceTextureUpdated(android.graphics.SurfaceTexture surfaceTexture)booleanonTouchEvent(android.view.MotionEvent event)voidreloadTiles()Force reloading of all tiles.voidremove(GLMapDrawObject drawObject)Removes `GLMapDrawObject` from map.voidremoveAllObjects()Remove all images, image groups, tracks and marker layers from mapvoidsetAttributionPosition(int placement)Sets position of attribution.voidsetBase(GLMapTileSource base)By default base is vector tile source.voidsetCenterTileStateChangedCallback(java.lang.Runnable callback)Set callback that will be called when center tile state is changedvoidsetDrawElevationLines(boolean drawElevationLines)Sets visibility of elevation lines.voidsetDrawHillshades(boolean drawHillshades)Sets visibility of hill shades.voidsetFontScale(float scale)Sets scale of font.voidsetFps(float fps)Sets fpsvoidsetGesturesDetector(GLMapGesturesDetector gesturesDetector)If map do not need to handle touches set gesturesDetector to null.voidsetLocaleSettings(GLMapLocaleSettings localeSettings)Sets map locale settingsvoidsetMapAngle(float newAngle)Sets zoom level of the map.voidsetMapCenter(MapPoint center)Sets coordinates of the origin point of the map.voidsetMapDidMoveCallback(java.lang.Runnable callback)Sets callback that will be called after move animation finishedvoidsetMapGeoCenter(MapGeoPoint geoCenter)Sets coordinates of the origin point of the map.voidsetMapOrigin(MapPoint point)Origin point of the map coordinate system (X, Y).voidsetMapScale(double newScale)Set scale of the map.voidsetMapZoom(double newZoom)Sets zoom level of the map.voidsetMaxScale(double maxScale)Sets maximum scale of the mapvoidsetNeedRedraw()Force redrawvoidsetOverlays(GLMapTileSource[] overlays)By default overlays is null.voidsetScaleRulerBottomText(java.lang.String text)Sets text that will be displayed under scale ruler.voidsetScaleRulerStyle(int units, int placement, MapPoint paddings, double maxWidth)Set style of scale ruler.voidsetStyle(GLMapVectorCascadeStyle style)Sets map stylevoidstartAnimation(GLMapAnimation animation)Starts animation.voidsurfaceChanged(android.view.SurfaceHolder holder, int format, int width, int height)voidsurfaceCreated(android.view.SurfaceHolder holder)voidsurfaceDestroyed(android.view.SurfaceHolder holder)voidsurfaceRedrawNeeded(android.view.SurfaceHolder holder)voidsurfaceRedrawNeededAsync(android.view.SurfaceHolder holder, java.lang.Runnable drawingFinished)Methods inherited from class android.view.SurfaceView
draw, gatherTransparentRegion, getHolder, getHostToken, getImportantForAccessibility, getSurfaceControl, setAlpha, setChildSurfacePackage, setClipBounds, setSecure, setVisibility, setZOrderMediaOverlay, setZOrderOnTopMethods inherited from class android.view.View
addChildrenForAccessibility, addExtraDataToAccessibilityNodeInfo, addFocusables, addFocusables, addKeyboardNavigationClusters, addOnAttachStateChangeListener, addOnLayoutChangeListener, addOnUnhandledKeyEventListener, addTouchables, animate, announceForAccessibility, autofill, autofill, bringToFront, buildDrawingCache, buildDrawingCache, buildLayer, callOnClick, cancelDragAndDrop, cancelLongPress, cancelPendingInputEvents, canResolveLayoutDirection, canResolveTextAlignment, canResolveTextDirection, canScrollHorizontally, canScrollVertically, checkInputConnectionProxy, clearAnimation, clearFocus, combineMeasuredStates, computeScroll, computeSystemWindowInsets, createAccessibilityNodeInfo, createContextMenu, destroyDrawingCache, dispatchApplyWindowInsets, dispatchCapturedPointerEvent, dispatchConfigurationChanged, dispatchDisplayHint, dispatchDragEvent, dispatchDrawableHotspotChanged, dispatchFinishTemporaryDetach, dispatchGenericMotionEvent, dispatchKeyEvent, dispatchKeyEventPreIme, dispatchKeyShortcutEvent, dispatchNestedFling, dispatchNestedPreFling, dispatchNestedPrePerformAccessibilityAction, dispatchNestedPreScroll, dispatchNestedScroll, dispatchPointerCaptureChanged, dispatchPopulateAccessibilityEvent, dispatchProvideAutofillStructure, dispatchProvideStructure, dispatchStartTemporaryDetach, dispatchSystemUiVisibilityChanged, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowInsetsAnimationEnd, dispatchWindowInsetsAnimationPrepare, dispatchWindowInsetsAnimationProgress, dispatchWindowInsetsAnimationStart, dispatchWindowSystemUiVisiblityChanged, dispatchWindowVisibilityChanged, drawableHotspotChanged, findFocus, findViewById, findViewsWithText, findViewWithTag, focusSearch, forceHasOverlappingRendering, forceLayout, generateViewId, getAccessibilityClassName, getAccessibilityDelegate, getAccessibilityLiveRegion, getAccessibilityNodeProvider, getAccessibilityPaneTitle, getAccessibilityTraversalAfter, getAccessibilityTraversalBefore, getAlpha, getAnimation, getAnimationMatrix, getApplicationWindowToken, getAttributeResolutionStack, getAttributeSourceResourceMap, getAutofillHints, getAutofillId, getAutofillType, getAutofillValue, getBackground, getBackgroundTintBlendMode, getBackgroundTintList, getBackgroundTintMode, getBaseline, getBottom, getCameraDistance, getClipBounds, getClipBounds, getClipToOutline, getContentCaptureSession, getContentDescription, getContext, getDefaultFocusHighlightEnabled, getDefaultSize, getDisplay, getDrawableState, getDrawingCache, getDrawingCache, getDrawingCacheBackgroundColor, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getElevation, getExplicitStyle, getFilterTouchesWhenObscured, getFitsSystemWindows, getFocusable, getFocusables, getFocusedRect, getForeground, getForegroundGravity, getForegroundTintBlendMode, getForegroundTintList, getForegroundTintMode, getGlobalVisibleRect, getGlobalVisibleRect, getHasOverlappingRendering, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarThumbDrawable, getHorizontalScrollbarTrackDrawable, getId, getImportantForAutofill, getImportantForContentCapture, getKeepScreenOn, getKeyDispatcherState, getLabelFor, getLayerType, getLayoutDirection, getLayoutParams, getLeft, getLocalVisibleRect, getLocationInSurface, getLocationInWindow, getLocationOnScreen, getMatrix, getMeasuredHeight, getMeasuredHeightAndState, getMeasuredState, getMeasuredWidth, getMeasuredWidthAndState, getMinimumHeight, getMinimumWidth, getNextClusterForwardId, getNextFocusDownId, getNextFocusForwardId, getNextFocusLeftId, getNextFocusRightId, getNextFocusUpId, getOnFocusChangeListener, getOutlineAmbientShadowColor, getOutlineProvider, getOutlineSpotShadowColor, getOverlay, getOverScrollMode, getPaddingBottom, getPaddingEnd, getPaddingLeft, getPaddingRight, getPaddingStart, getPaddingTop, getParent, getParentForAccessibility, getPivotX, getPivotY, getPointerIcon, getResources, getRevealOnFocusHint, getRight, getRootView, getRootWindowInsets, getRotation, getRotationX, getRotationY, getScaleX, getScaleY, getScrollBarDefaultDelayBeforeFade, getScrollBarFadeDuration, getScrollBarSize, getScrollBarStyle, getScrollIndicators, getScrollX, getScrollY, getSolidColor, getSourceLayoutResId, getStateDescription, getStateListAnimator, getSystemGestureExclusionRects, getSystemUiVisibility, getTag, getTag, getTextAlignment, getTextDirection, getTooltipText, getTop, getTouchables, getTouchDelegate, getTransitionAlpha, getTransitionName, getTranslationX, getTranslationY, getTranslationZ, getUniqueDrawingId, getVerticalFadingEdgeLength, getVerticalScrollbarPosition, getVerticalScrollbarThumbDrawable, getVerticalScrollbarTrackDrawable, getVerticalScrollbarWidth, getViewTreeObserver, getVisibility, getWidth, getWindowId, getWindowInsetsController, getWindowSystemUiVisibility, getWindowToken, getWindowVisibility, getWindowVisibleDisplayFrame, getX, getY, getZ, hasExplicitFocusable, hasFocus, hasFocusable, hasNestedScrollingParent, hasOnClickListeners, hasOnLongClickListeners, hasOverlappingRendering, hasPointerCapture, hasTransientState, hasWindowFocus, inflate, invalidate, invalidate, invalidate, invalidateDrawable, invalidateOutline, isAccessibilityFocused, isAccessibilityHeading, isActivated, isAttachedToWindow, isClickable, isContextClickable, isDirty, isDrawingCacheEnabled, isDuplicateParentStateEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFocusedByDefault, isForceDarkAllowed, isHapticFeedbackEnabled, isHardwareAccelerated, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isHovered, isImportantForAccessibility, isImportantForAutofill, isImportantForContentCapture, isInEditMode, isInLayout, isInTouchMode, isKeyboardNavigationCluster, isLaidOut, isLayoutDirectionResolved, isLayoutRequested, isLongClickable, isNestedScrollingEnabled, isOpaque, isPaddingRelative, isPivotSet, isPressed, isSaveEnabled, isSaveFromParentEnabled, isScreenReaderFocusable, isScrollbarFadingEnabled, isScrollContainer, isSelected, isShowingLayoutBounds, isShown, isSoundEffectsEnabled, isTemporarilyDetached, isTextAlignmentResolved, isTextDirectionResolved, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, isVisibleToUserForAutofill, jumpDrawablesToCurrentState, keyboardNavigationClusterSearch, layout, measure, offsetLeftAndRight, offsetTopAndBottom, onApplyWindowInsets, onCancelPendingInputEvents, onCapturedPointerEvent, onCheckIsTextEditor, onCreateInputConnection, onDragEvent, onDrawForeground, onFilterTouchEventForSecurity, onFinishTemporaryDetach, onGenericMotionEvent, onHoverChanged, onHoverEvent, onInitializeAccessibilityEvent, onInitializeAccessibilityNodeInfo, onKeyDown, onKeyLongPress, onKeyMultiple, onKeyPreIme, onKeyShortcut, onKeyUp, onPointerCaptureChange, onPopulateAccessibilityEvent, onProvideAutofillStructure, onProvideAutofillVirtualStructure, onProvideContentCaptureStructure, onProvideStructure, onProvideVirtualStructure, onResolvePointerIcon, onRtlPropertiesChanged, onScreenStateChanged, onStartTemporaryDetach, onTrackballEvent, onVisibilityAggregated, onWindowFocusChanged, onWindowSystemUiVisibilityChanged, performAccessibilityAction, performClick, performContextClick, performContextClick, performHapticFeedback, performHapticFeedback, performLongClick, performLongClick, playSoundEffect, post, postDelayed, postInvalidate, postInvalidate, postInvalidateDelayed, postInvalidateDelayed, postInvalidateOnAnimation, postInvalidateOnAnimation, postOnAnimation, postOnAnimationDelayed, refreshDrawableState, releasePointerCapture, removeCallbacks, removeOnAttachStateChangeListener, removeOnLayoutChangeListener, removeOnUnhandledKeyEventListener, requestApplyInsets, requestFitSystemWindows, requestFocus, requestFocus, requestFocus, requestFocusFromTouch, requestLayout, requestPointerCapture, requestRectangleOnScreen, requestRectangleOnScreen, requestUnbufferedDispatch, requestUnbufferedDispatch, requireViewById, resetPivot, resolveSize, resolveSizeAndState, restoreDefaultFocus, restoreHierarchyState, saveAttributeDataForStyleable, saveHierarchyState, scheduleDrawable, scrollBy, scrollTo, sendAccessibilityEvent, sendAccessibilityEventUnchecked, setAccessibilityDelegate, setAccessibilityHeading, setAccessibilityLiveRegion, setAccessibilityPaneTitle, setAccessibilityTraversalAfter, setAccessibilityTraversalBefore, setActivated, setAnimation, setAnimationMatrix, setAutofillHints, setAutofillId, setBackground, setBackgroundColor, setBackgroundDrawable, setBackgroundResource, setBackgroundTintBlendMode, setBackgroundTintList, setBackgroundTintMode, setBottom, setCameraDistance, setClickable, setClipToOutline, setContentCaptureSession, setContentDescription, setContextClickable, setDefaultFocusHighlightEnabled, setDrawingCacheBackgroundColor, setDrawingCacheEnabled, setDrawingCacheQuality, setDuplicateParentStateEnabled, setElevation, setEnabled, setFadingEdgeLength, setFilterTouchesWhenObscured, setFitsSystemWindows, setFocusable, setFocusable, setFocusableInTouchMode, setFocusedByDefault, setForceDarkAllowed, setForeground, setForegroundGravity, setForegroundTintBlendMode, setForegroundTintList, setForegroundTintMode, setHapticFeedbackEnabled, setHasTransientState, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setHorizontalScrollbarThumbDrawable, setHorizontalScrollbarTrackDrawable, setHovered, setId, setImportantForAccessibility, setImportantForAutofill, setImportantForContentCapture, setKeepScreenOn, setKeyboardNavigationCluster, setLabelFor, setLayerPaint, setLayerType, setLayoutDirection, setLayoutParams, setLeft, setLeftTopRightBottom, setLongClickable, setMinimumHeight, setMinimumWidth, setNestedScrollingEnabled, setNextClusterForwardId, setNextFocusDownId, setNextFocusForwardId, setNextFocusLeftId, setNextFocusRightId, setNextFocusUpId, setOnApplyWindowInsetsListener, setOnCapturedPointerListener, setOnClickListener, setOnContextClickListener, setOnCreateContextMenuListener, setOnDragListener, setOnFocusChangeListener, setOnGenericMotionListener, setOnHoverListener, setOnKeyListener, setOnLongClickListener, setOnScrollChangeListener, setOnSystemUiVisibilityChangeListener, setOnTouchListener, setOutlineAmbientShadowColor, setOutlineProvider, setOutlineSpotShadowColor, setOverScrollMode, setPadding, setPaddingRelative, setPivotX, setPivotY, setPointerIcon, setPressed, setRevealOnFocusHint, setRight, setRotation, setRotationX, setRotationY, setSaveEnabled, setSaveFromParentEnabled, setScaleX, setScaleY, setScreenReaderFocusable, setScrollBarDefaultDelayBeforeFade, setScrollBarFadeDuration, setScrollbarFadingEnabled, setScrollBarSize, setScrollBarStyle, setScrollContainer, setScrollIndicators, setScrollIndicators, setScrollX, setScrollY, setSelected, setSoundEffectsEnabled, setStateDescription, setStateListAnimator, setSystemGestureExclusionRects, setSystemUiVisibility, setTag, setTag, setTextAlignment, setTextDirection, setTooltipText, setTop, setTouchDelegate, setTransitionAlpha, setTransitionName, setTransitionVisibility, setTranslationX, setTranslationY, setTranslationZ, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVerticalScrollbarPosition, setVerticalScrollbarThumbDrawable, setVerticalScrollbarTrackDrawable, setWillNotCacheDrawing, setWillNotDraw, setWindowInsetsAnimationCallback, setX, setY, setZ, showContextMenu, showContextMenu, startActionMode, startActionMode, startAnimation, startDrag, startDragAndDrop, startNestedScroll, stopNestedScroll, toString, transformMatrixToGlobal, transformMatrixToLocal, unscheduleDrawable, unscheduleDrawable, updateDragShadow, willNotCacheDrawing, willNotDrawMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Field Details
-
screenScale
public float screenScale -
imageManager
-
textureView
public android.view.TextureView textureView
-
-
Constructor Details
-
GLMapView
public GLMapView(android.content.Context context, android.util.AttributeSet attrs, int defStyle)Creates map view- Parameters:
context- contextdefStyle- defStyleattrs- attributes
-
GLMapView
public GLMapView(android.content.Context context, android.util.AttributeSet attrs)Creates map view- Parameters:
context- contextattrs- attributes
-
GLMapView
public GLMapView(android.content.Context context)Creates map view- Parameters:
context- context
-
GLMapView
public GLMapView(android.content.Context context, android.view.TextureView textureView)Creates map view- Parameters:
context- contexttextureView- textureView
-
-
Method Details
-
getHandler
public android.os.Handler getHandler()- Overrides:
getHandlerin classandroid.view.View
-
surfaceChanged
public void surfaceChanged(android.view.SurfaceHolder holder, int format, int width, int height)- Specified by:
surfaceChangedin interfaceandroid.view.SurfaceHolder.Callback
-
surfaceCreated
public void surfaceCreated(android.view.SurfaceHolder holder)- Specified by:
surfaceCreatedin interfaceandroid.view.SurfaceHolder.Callback
-
surfaceDestroyed
public void surfaceDestroyed(android.view.SurfaceHolder holder)- Specified by:
surfaceDestroyedin interfaceandroid.view.SurfaceHolder.Callback
-
onSurfaceTextureAvailable
public void onSurfaceTextureAvailable(android.graphics.SurfaceTexture surfaceTexture, int width, int height)- Specified by:
onSurfaceTextureAvailablein interfaceandroid.view.TextureView.SurfaceTextureListener
-
onSurfaceTextureSizeChanged
public void onSurfaceTextureSizeChanged(android.graphics.SurfaceTexture surfaceTexture, int width, int height)- Specified by:
onSurfaceTextureSizeChangedin interfaceandroid.view.TextureView.SurfaceTextureListener
-
onSurfaceTextureDestroyed
public boolean onSurfaceTextureDestroyed(android.graphics.SurfaceTexture surfaceTexture)- Specified by:
onSurfaceTextureDestroyedin interfaceandroid.view.TextureView.SurfaceTextureListener
-
onSurfaceTextureUpdated
public void onSurfaceTextureUpdated(android.graphics.SurfaceTexture surfaceTexture)- Specified by:
onSurfaceTextureUpdatedin interfaceandroid.view.TextureView.SurfaceTextureListener
-
surfaceRedrawNeeded
public void surfaceRedrawNeeded(android.view.SurfaceHolder holder)- Specified by:
surfaceRedrawNeededin interfaceandroid.view.SurfaceHolder.Callback2
-
surfaceRedrawNeededAsync
public void surfaceRedrawNeededAsync(android.view.SurfaceHolder holder, java.lang.Runnable drawingFinished)- Specified by:
surfaceRedrawNeededAsyncin interfaceandroid.view.SurfaceHolder.Callback2
-
onTouchEvent
public boolean onTouchEvent(android.view.MotionEvent event)- Overrides:
onTouchEventin classandroid.view.View
-
getFps
public float getFps()Returns fps- Returns:
- fps
-
setFps
public void setFps(float fps)Sets fps- Parameters:
fps- fps to set
-
setCenterTileStateChangedCallback
public void setCenterTileStateChangedCallback(@Nullable java.lang.Runnable callback)Set callback that will be called when center tile state is changed- Parameters:
callback- Runnable that will be post to main thread when center tile state is changed
-
getCenterTileState
public int getCenterTileState()Return state of center tile- Returns:
- state of center tile
-
convertDisplayDeltaToInternal
Converts a distance between two points on the screen to delta in internal format of GLMapView.- Parameters:
val- The point with the delta- Returns:
- The same object that was passed to method call.
- See Also:
convertDisplayToInternal(MapPoint)
-
convertDisplayDeltaToInternal
Converts a distance between two points on the screen to delta in internal format of GLMapView.- Parameters:
val- The point with the deltamapZoom- Zoom to use for calculationsmapAngle- Angle to use for calculations- Returns:
- The same object that was passed to method call.
- See Also:
convertDisplayToInternal(MapPoint)
-
convertDisplayToInternal
Converts a point on the surface to an internal map coordinate.MapPoint pt = mapView.convertDisplayToInternal(new MapPoint(touchX, touchY));- Parameters:
val- The point on surface to be converted- Returns:
- The same object that was passed to method call.
- See Also:
convertInternalToDisplay(MapPoint)
-
convertInternalToDisplay
Converts a point in internal format of GLMapView to point on the surface of view.- Parameters:
val- The point to be converted- Returns:
- The same object that was passed to method call.
- See Also:
convertDisplayToInternal(MapPoint)
-
convertMetersToInternal
public double convertMetersToInternal(double meters)Converts meters distance to internal distance- Parameters:
meters- The value to be converted- Returns:
- Returns distance in internal units
-
doWhenSurfaceCreated
public void doWhenSurfaceCreated(java.lang.Runnable r)Runs command on internal rendering thread. If surface does not exists at this moment Runnable will be executed when it will be created.final GLMapView mapView = (GLMapView) this.findViewById(R.id.map_view); mapView.doWhenSurfaceCreated(new Runnable() { public void run() { mapView.setMapCenter(center, false); mapView.scaleMap(scaleChange, null, false); } });- Parameters:
r- The Runnable to be executed at internal thread when surface will be created
-
setStyle
Sets map style- Parameters:
style- style to use for map
-
setLocaleSettings
Sets map locale settings- Parameters:
localeSettings- New locale settings to use for translating map labels
-
getLocaleSettings
- Returns:
- GLMapLocaleSettings that was previously set
-
getGesturesDetector
- Returns:
- value that was previously set.
-
setGesturesDetector
If map do not need to handle touches set gesturesDetector to null. By default map view have gesture detector- Parameters:
gesturesDetector- GLMapGesturesDetector gestures detector to set
-
setBase
By default base is vector tile source.- Parameters:
base- Base to use
-
setOverlays
By default overlays is null.- Parameters:
overlays- Overlays to use
-
getOverlays
- Returns:
- value that was previously set.
-
getBase
- Returns:
- value that was previously set.
-
setDrawElevationLines
public void setDrawElevationLines(boolean drawElevationLines)Sets visibility of elevation lines. By default is false.- Parameters:
drawElevationLines- visibility of elevation lines
-
getDrawElevationLines
public boolean getDrawElevationLines()- Returns:
- value that was previously set.
-
setDrawHillshades
public void setDrawHillshades(boolean drawHillshades)Sets visibility of hill shades. By default is false.- Parameters:
drawHillshades- visibility of hill shades.
-
getDrawHillshades
public boolean getDrawHillshades()- Returns:
- value that was previously set.
-
captureFrameWhenFinish
Captures frame when surface will be created and loading of resources finished.ScreenCaptureCallbackprovides Bitmap as a result- Parameters:
callback- ScreenCaptureCallback to call with result
-
mapZoomForBBox
Calculates zoom of map to fit given bbox- Parameters:
bbox- bbox that you wish to fitmapWidth- width of visible areamapHeight- height of visible area- Returns:
- zoom of map to fit given bbox or NaN if bbox is empty.
-
getMapCenter
Gets coordinates of the origin point of the map. If animation is in progress - this value returns final value.MapPoint pt = mapView.getMapCenter(new MapPoint());- Parameters:
point- The point to be filled with values.- Returns:
- The same object that was passed to method call.
- See Also:
setMapCenter(MapPoint)
-
getCurrentMapCenter
Gets current coordinates of the origin point of the map.- Parameters:
point- The point to be filled with values.- Returns:
- The same object that was passed to method call.
-
getMapCenter
Gets coordinates of the origin point of the map.MapPoint pt = mapView.getMapCenter();- Returns:
- Returns coordinates of map center point.
- See Also:
setMapCenter(MapPoint)
-
setMapCenter
Sets coordinates of the origin point of the map.mapView.setMapCenter(center);- Parameters:
center- New map center.- See Also:
getMapCenter(MapPoint)
-
getMapGeoCenter
Gets coordinates of the origin point of the map.MapPoint pt = mapView.getMapCenter();- Returns:
- Returns coordinates of map center point.
- See Also:
setMapGeoCenter(MapGeoPoint)
-
setMapGeoCenter
Sets coordinates of the origin point of the map.mapView.setMapGeoCenter(center);- Parameters:
geoCenter- New map center.- See Also:
getMapCenter(MapPoint)
-
getMapOrigin
Origin point of the map coordinate system.- Parameters:
point- The point to be filled with values.- Returns:
- The same object that was passed to method call.
-
getMapOrigin
- Returns:
- Returns origin point of the map coordinate system.
-
setMapOrigin
Origin point of the map coordinate system (X, Y). Changing the values in this property between 0 and 1 in relative coordinates describes the point of GLMapView which is considered as a center point for `mapCenter` and `setMapCenter:animated:`.- Parameters:
point- The point to be filled with values.
-
getBBox
BBox of current visible part of GLMapView- Returns:
- bbox of visible part of GLMapView
-
setFontScale
public void setFontScale(float scale)Sets scale of font. Will trigger reloadTiles automatically;- Parameters:
scale- New font scale (default is 1).
-
getFontScale
public float getFontScale()- Returns:
- value of font scale
-
getMapAngle
public float getMapAngle()Gets current angle of the map.- Returns:
- Current angle of the map.
-
setMapAngle
public void setMapAngle(float newAngle)Sets zoom level of the map.mapView.setMapZoom(16, false);- Parameters:
newAngle- new zoom level for map.- See Also:
getMapAngle()
-
getMapZoom
public double getMapZoom()Get zoom level of the map. If animation is in progress final value will return.double zoom = mapView.getMapZoom();- Returns:
- Current zoom of the map.
- See Also:
setMapZoom(double)
-
getCurrentMapZoom
public double getCurrentMapZoom()Gets current zoom level of the map.double zoom = mapView.getCurrentMapZoom();- Returns:
- Current zoom of the map.
- See Also:
setMapZoom(double)
-
getCurrentMapScale
public double getCurrentMapScale()Gets current scale of the map.- Returns:
- current scale of the map
-
getMapScale
public double getMapScale()Gets scale of the map.- Returns:
- scale of the map
- See Also:
getMapZoom()
-
setMapZoom
public void setMapZoom(double newZoom)Sets zoom level of the map.mapView.setMapZoom(16);- Parameters:
newZoom- new zoom level for map.- See Also:
getMapZoom()
-
setMaxScale
public void setMaxScale(double maxScale)Sets maximum scale of the map- Parameters:
maxScale- max scale to set
-
getMaxScale
public double getMaxScale()Gets maximum scale of the map- Returns:
- maximum scale of the map
-
setMapScale
public void setMapScale(double newScale)Set scale of the map. Same as setMapZoom(pow(2, zoomLevel)). If animation is in progress final value will return.- Parameters:
newScale- new scale for map.- See Also:
getMapZoom()
-
setScaleRulerStyle
Set style of scale ruler.mapView.setScaleRulerStyle(GLUnitSystem.International, GLMapPlacement.BottomCenter, new MapPoint(10, 10), 200);- Parameters:
units- format of values to displayplacement- alignment of textpaddings- paddings of scale ruler in pointsmaxWidth- width of scale hit in points
-
setScaleRulerBottomText
public void setScaleRulerBottomText(@Nullable java.lang.String text)Sets text that will be displayed under scale ruler.- Parameters:
text- text to display
-
setAttributionPosition
public void setAttributionPosition(int placement)Sets position of attribution.mapView.setAttributionPosition(GLMapPlacement.TopCenter);- Parameters:
placement- placement of attribution
-
removeAllObjects
public void removeAllObjects()Remove all images, image groups, tracks and marker layers from map- See Also:
remove(GLMapDrawObject)
-
add
Adds the GLMapDrawObject to map.- Parameters:
drawObject- object to add- See Also:
remove(GLMapDrawObject)
-
remove
Removes `GLMapDrawObject` from map.- Parameters:
drawObject- object to remove- See Also:
add(GLMapDrawObject)
-
startAnimation
Starts animation.- Parameters:
animation- animation to start
-
animate
Create and starts animation using provided callback- Parameters:
callback- Callback that will configure animation- Returns:
- created animation.
-
animate
public GLMapAnimation animate(GLMapView.AnimateCallback callback, @Nullable java.lang.Runnable onFinish)Create and starts animation using provided callback- Parameters:
callback- Callback that will configure animationonFinish- Callback that will be called when animation is finished- Returns:
- created animation.
-
reloadTiles
public void reloadTiles()Force reloading of all tiles. -
setNeedRedraw
public void setNeedRedraw()Force redraw -
setMapDidMoveCallback
public void setMapDidMoveCallback(@Nullable java.lang.Runnable callback)Sets callback that will be called after move animation finished- Parameters:
callback- callback that will be post to ui thread after animation finished
-
distanceInMeters
Calculates distance between two geo points- Parameters:
from- first geo pointto- second geo point- Returns:
- distance in meters
-
bearingAngle
Calculates bearing between two geo points- Parameters:
from- first geo pointto- second geo point- Returns:
- bearing angle in degrees
-
ForceOpenGL2
public static void ForceOpenGL2()After calling this function any new GLMapView will use OpenGL 2.0 even if device supports OpenGL 3.0 Some cheap Android devices have problems with drivers. -
crashNDK
public static void crashNDK() -
crashNDK2
public static void crashNDK2()
-