polygonAnnotation

geo. polygonAnnotation

new polygonAnnotation(argsopt, nullable)

Description:
  • Polygon annotation class

    When complete, polygons are rendered as polygons. During creation they are rendered as lines and polygons.

Source:
Parameters:
Name Type Attributes Description
args geo.polygonAnnotation.spec <optional>
<nullable>

Options for the annotation.

Extends

Members

(static) defaults

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

Source:

This object contains the default options to initialize the class.

Methods

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

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

Source:
Overrides:
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:
Inherited From:
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:
Inherited From:

cursorStyle()

Description:
Source:
Inherited From:

description(arg) → {this|string}

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

Source:
Inherited From:
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:
Inherited From:
Returns:

The annotation.

Type
this

editHandleStyle()

Description:
Source:
Inherited From:

editStyle()

Description:
Source:
Inherited From:

features() → {array}

Description:
  • Get a list of renderable features for this annotation. When the polygon is done, this is just a single polygon. During creation this can be a polygon and line at z-levels 1 and 2.

Source:
Overrides:
Returns:

An array of features.

Type
array

geojson(gcsopt, includeCrsopt) → {object}

Description:
  • Return the annotation as a geojson object.

Source:
Inherited From:
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:
Inherited From:

id() → {number}

Description:
  • Get a unique annotation id.

Source:
Inherited From:
Returns:

The annotation id.

Type
number

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

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

Source:
Inherited From:
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:
Inherited From:
Returns:

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

Type
geo.annotationLayer.labelRecord | undefined

labelStyle()

Description:
Source:
Inherited From:

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

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

Source:
Inherited From:
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:
Inherited From:
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:
Overrides:
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:
Inherited From:
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:
Overrides:
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:
Inherited From:
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:
Inherited From:
Returns:
Type
this

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

Description:
  • Get or set options.

Source:
Inherited From:
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 actions for this annotation.

Source:
Overrides:
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:
Inherited From:
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:
Inherited From:
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:
Overrides:
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:
Inherited From:
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:
Inherited From:
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

toPolygonList(optsopt) → {geo.polygonList}

Description:
  • Return this annotation as a polygon list.

Source:
Parameters:
Name Type Attributes Description
opts geo.util.polyop.spec <optional>

Ignored.

Returns:

A list of polygons.

Type
geo.polygonList

type() → {string}

Description:
  • Get the type of this annotation.

Source:
Inherited From:
Returns:

The annotation type.

Type
string

Type Definitions

spec

Description:
Source:
Properties:
Name Type Attributes Default Description
vertices Array.<geo.geoPosition> <optional>

A list of vertices in map gcs coordinates. These must be in order around the perimeter of the polygon (in either direction).

coordinates Array.<geo.geoPosition> <optional>

An alternate name for vertices.

style geo.polygonFeature.styleSpec <optional>

The style to apply to a finished polygon. This uses styles for geo.polygonFeature.

editStyle geo.polygonFeature.styleSpec <optional>

The style to apply to ai polygon in edit mode.

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.

Polygon annotation specification. Extends geo.annotation.spec.

Type:
  • object