annotation

geo. Namespace

annotation

Source:

Members

(static) defaultEditHandleStyle :object

Description:
  • These styles are applied to edit handles, and can be overridden by individual annotations.

Source:
Default Value:
  • {
      "fill": true,
      "fillColor": "",
      "fillOpacity": "",
      "radius": "",
      "scaled": false,
      "stroke": true,
      "strokeColor": "",
      "strokeOpacity": 1,
      "strokeWidth": "",
      "rotateHandleOffset": 24,
      "rotateHandleRotation": "",
      "resizeHandleOffset": 48,
      "resizeHandleRotation": "",
      "handles": ""
    }

These styles are applied to edit handles, and can be overridden by individual annotations.

Type:
  • object

(static) defaults

Description:
  • This object contains the default options to initialize the class.

Source:

This object contains the default options to initialize the class.

(static) state :string

Source:
Properties:
Name Type Description
create string
done string
highlight string
edit string
cursor string
Type:
  • string

Methods

actions(stateopt) → {Array.<geo.actionRecord>}

Description:
  • Return actions needed for the specified state of this annotation.

Source:
Parameters:
Name Type Attributes Description
state string <optional>

The state to return actions for. Defaults to the current state.

Returns:

A list of actions.

Type
Array.<geo.actionRecord>

coordinates(gcsopt) → {Array.<geo.geoPosition>}

Description:
  • Get coordinates associated with this annotation.

Source:
Parameters:
Name Type Attributes Description
gcs string | geo.transform | null <optional>

undefined to use the interface gcs, null to use the map gcs, or any other transform.

Returns:

An array of coordinates.

Type
Array.<geo.geoPosition>

createStyle()

Description:
Source:

cursorStyle()

Description:
Source:

description(arg) → {this|string}

Description:
  • Get or set the description of this annotation.

Source:
Parameters:
Name Type Description
arg string | undefined

If undefined, return the description, otherwise change it.

Returns:

The current description or this annotation.

Type
this | string

draw() → {this}

Description:
  • Draw this annotation. This just updates and draws the parent layer.

Source:
Returns:

The annotation.

Type
this

editHandleStyle()

Description:
Source:

editStyle()

Description:
Source:

features() → {array}

Description:
  • Get a list of renderable features for this annotation. The list index is functionally a z-index for the feature. Each entry is a dictionary with the key as the feature name (such as line, quad, or polygon), and the value a dictionary of values to pass to the feature constructor, such as style and coordinates.

Source:
Returns:

An array of features.

Type
array

geojson(gcsopt, includeCrsopt) → {object}

Description:
  • Return the annotation as a geojson object.

Source:
Parameters:
Name Type Attributes Description
gcs string | geo.transform | null <optional>

undefined to use the interface gcs, null to use the map gcs, or any other transform.

includeCrs boolean <optional>

If truthy, include the coordinate system.

Returns:

The annotation as a geojson object, or undefined if it should not be represented (for instance, while it is being created).

Type
object

highlightStyle()

Description:
Source:

id() → {number}

Description:
  • Get a unique annotation id.

Source:
Returns:

The annotation id.

Type
number

label(argopt, noFallbackopt) → {this|string}

Description:
  • Get or set the label of this annotation.

Source:
Parameters:
Name Type Attributes Description
arg string | null | undefined <optional>

If undefined, return the label, otherwise change it. null to clear the label.

noFallback boolean <optional>

If not truthy and the label is null, return the name, otherwise return the actual value for label.

Returns:

The current label or this annotation.

Type
this | string

labelRecord() → {geo.annotationLayer.labelRecord|undefined}

Description:
  • If the label should be shown, get a record of the label that can be used in a geo.textFeature.

Source:
Returns:

A label record, or undefined if it should not be shown.

Type
geo.annotationLayer.labelRecord | undefined

labelStyle()

Description:
Source:

layer(arg) → {this|geo.annotationLayer}

Description:
  • Get or set the annotation layer associated with this annotation.

Source:
Parameters:
Name Type Description
arg geo.annotationLayer | undefined

if undefined, return the layer, otherwise change it.

Returns:

the current layer or this annotation.

Type
this | geo.annotationLayer

modified() → {this}

Description:
  • Mark this annotation as modified. This just marks the parent layer as modified.

Source:
Returns:

The annotation.

Type
this

mouseClick(evt) → {boolean|string}

Description:
  • Handle a mouse click on this annotation. If the event is processed, evt.handled should be set to true to prevent further processing.

Source:
Parameters:
Name Type Description
evt geo.event

The mouse click event.

Returns:

true to update the annotation, 'done' if the annotation was completed (changed from create to done state), 'remove' if the annotation should be removed, falsy to not update anything.

Type
boolean | string

mouseClickEdit(evt) → {boolean|string}

Description:
  • Handle a mouse click on this annotation when in edit mode. If the event is processed, evt.handled should be set to true to prevent further processing.

Source:
Parameters:
Name Type Description
evt geo.event

The mouse click event.

Returns:

true to update the annotation, 'done' if the annotation was completed (changed from create to done state), 'remove' if the annotation should be removed, falsy to not update anything.

Type
boolean | string

mouseMove(evt) → {boolean}

Description:
  • Handle a mouse move on this annotation.

Source:
Parameters:
Name Type Description
evt geo.event

The mouse move event.

Returns:

Truthy to update the annotation, falsy to not update anything.

Type
boolean

name(argopt) → {this|string}

Description:
  • Get or set the name of this annotation.

Source:
Parameters:
Name Type Attributes Description
arg string | undefined <optional>

If undefined, return the name, otherwise change it. When setting the name, the value is trimmed of whitespace. The name will not be changed to an empty string.

Returns:

The current name or this annotation.

Type
this | string

newId() → {this}

Description:
  • Assign a new id to this annotation.

Source:
Returns:
Type
this

options(arg1opt, arg2opt) → {object|this}

Description:
  • Get or set options.

Source:
Parameters:
Name Type Attributes Description
arg1 string | object <optional>

If undefined, return the options object. If a string, either set or return the option of that name. If an object, update the options with the object's values.

arg2 object <optional>

If arg1 is a string and this is defined, set the option to this value.

Fires:
Returns:

If options are set, return the annotation, otherwise return the requested option or the set of options.

Type
object | this

processAction(evt) → {boolean|string}

Description:
  • Process any non-edit actions for this annotation.

Source:
Parameters:
Name Type Description
evt geo.event

The action event.

Returns:

true to update the annotation, 'done' if the annotation was completed (changed from create to done state), 'remove' if the annotation should be removed, falsy to not update anything.

Type
boolean | string

processEditAction(evt) → {boolean}

Description:
  • Process any edit actions for this annotation.

Source:
Parameters:
Name Type Description
evt geo.event

The action event.

Returns:

true to update the annotation, falsy to not update anything.

Type
boolean

selectEditHandle(handle, enable) → {this}

Description:
  • When an edit handle is selected or deselected (for instance, by moving the mouse on or off of it), mark if it is selected and record the current coordinates.

Source:
Parameters:
Name Type Description
handle object

The data for the edit handle.

enable boolean

True to enable the handle, false to disable.

Fires:
Returns:
Type
this

state(argopt) → {this|string}

Description:
  • Get or set the state of this annotation.

Source:
Parameters:
Name Type Attributes Description
arg string | undefined <optional>

If undefined, return the state, otherwise change it. This should be one of the geo.annotation.state values.

Fires:
Returns:

The current state or this annotation.

Type
this | string

style(arg1opt, arg2opt, styleTypeopt) → {object|this}

Description:
  • Get or set style.

Source:
Parameters:
Name Type Attributes Default Description
arg1 string | object <optional>

If undefined, return the current style object. If a string and arg2 is undefined, return the style associated with the specified key. If a string and arg2 is defined, set the named style to the specified value. Otherwise, extend the current style with the values in the specified object.

arg2 * <optional>

If arg1 is a string, the new value for that style.

styleType string <optional>
'style'

The name of the style type, such as createStyle, editStyle, editHandleStyle, labelStyle, highlightStyle, or cursorStyle.

Returns:

Either the entire style object, the value of a specific style, or the current class instance.

Type
object | this

styleForState(stateopt) → {object}

Description:
  • Return the style dictionary for a particular state.

Source:
Parameters:
Name Type Attributes Description
state string <optional>

The state to return styles for. Defaults to the current state.

Returns:

The style object for the state. If there is no such style defined, the default style is used.

Type
object

type() → {string}

Description:
  • Get the type of this annotation.

Source:
Returns:

The annotation type.

Type
string

Type Definitions

spec

Description:
  • General annotation specification.

Source:
Properties:
Name Type Attributes Default Description
name string <optional>

A name for the annotation. This defaults to the type with a unique ID suffixed to it.

layer geo.annotationLayer <optional>

A reference to the controlling layer. This is used for coordinate transforms.

state string <optional>

Initial annotation state. One of the geo.annotation.state values.

showLabel boolean | Array.<string> <optional>
true

true to show the annotation label on annotations in done or edit states. Alternately, a list of states in which to show the label. Falsy to not show the label.

allowBooleanOperations boolean <optional>

This defaults to true for annotations that have area and false for those without area (e.g., false for lines and points). If it is truthy, then, when the annotation is being created, it checks the metakeys on the first click that defines a coordinate to determine what boolean polygon operation should be performaned on the completion of the annotation.

General annotation specification.

Type:
  • object