ViewAnnotationManager

Manager API to control View Annotations.

View annotations are Android Views that are drawn on top of the MapView and bound to some Geometry (only Point is supported for now). In case some view annotations intersect on the screen Z-index is based on addition order.

View annotations are invariant to map camera transformations however such properties as size, visibility etc could be controlled by the user using update operation.

View annotations are not explicitly bound to any sources however ViewAnnotationOptions.associatedFeatureId could be used to bind given view annotation with some Feature by Feature.id meaning visibility of view annotation will be driven by visibility of given feature.

View annotation manager instance is destroyed automatically when MapView.onDestroy is called.

Types

Link copied to clipboard
object Companion

Static methods and variables.

Functions

Link copied to clipboard
abstract fun addViewAnnotation(view: View, options: ViewAnnotationOptions)

Add annotation View which is already inflated. View dimensions will be taken as width / height from view's layout params unless they are not specified explicitly with ViewAnnotationOptions.Builder.width and ViewAnnotationOptions.Builder.height.

abstract fun addViewAnnotation(@LayoutRes resId: Int, options: ViewAnnotationOptions): View

Add view annotation inflated from resId synchronously.

abstract fun addViewAnnotation(@LayoutRes resId: Int, options: ViewAnnotationOptions, asyncInflater: AsyncLayoutInflater, asyncInflateCallback: (View) -> Unit)

Add view annotation inflated from resId asynchronously.

Link copied to clipboard
abstract fun cameraForAnnotations(annotations: List<View>, edgeInsets: EdgeInsets? = null, bearing: Double? = null, pitch: Double? = null): CameraOptions?

Return camera options bound to given view annotation list, padding, bearing and pitch values. Annotations with ViewAnnotationOptions.visible set to false will be excluded from the calculations of CameraOptions. Annotations with only View.VISIBLE will be included in the calculations for CameraOptions

Link copied to clipboard
abstract fun getViewAnnotationByFeatureId(featureId: String): View?

Find View by feature id if it was specified as part of ViewAnnotationOptions.associatedFeatureId.

Link copied to clipboard

Find ViewAnnotationOptions of view annotation by feature id if it was specified as part of ViewAnnotationOptions.associatedFeatureId.

Link copied to clipboard
Link copied to clipboard

Get view annotation update mode.

Link copied to clipboard

Remove all view annotations.

Link copied to clipboard
abstract fun removeViewAnnotation(view: View): Boolean

Remove given annotation view from the map if it was present.

Link copied to clipboard

Set view annotation update mode defined in ViewAnnotationUpdateMode.

Link copied to clipboard

Update given view annotation view with ViewAnnotationOptions. Important thing to keep in mind that only properties present in options will be updated, all other will remain the same as specified before.

Properties

Link copied to clipboard

Return Map of added View with their ViewAnnotationOptions. This method should be called every time to get all added Views and associated ViewAnnotationOptions.