ArcGIS Runtime SDK for iOS: AGSKMLScreenOverlay Class Reference
ArcGIS Runtime SDK for iOS  100.15
AGSKMLScreenOverlay Class Reference

Description

A KML Screen Overlay element.

An instance of this class represents a KML <ScreenOverlay> element which draws an image overlay at a fixed screen location. Screen overlays may be used for compasses, logos and heads-up displays.

Since
100.4
Inheritance diagram for AGSKMLScreenOverlay:
AGSKMLNode AGSObject

Instance Methods

(instancetype) - initWithIcon:
 
(id< AGSCancelable >) - saveToFileURL:completion:
 

Class Methods

(instancetype) + KMLNode
 
(instancetype) + KMLScreenOverlayWithIcon:
 

Properties

NSString * address
 
AGSColorballoonBackgroundColor
 
NSString * balloonContent
 
AGSColorcolor
 
NSInteger drawOrder
 
AGSEnvelopeextent
 
BOOL highlighted
 
AGSKMLStylehighlightStyle
 
AGSKMLIconicon
 
NSString * name
 
NSString * nodeDescription
 
NSString * nodeID
 
AGSKMLImageCoordinateoverlayCoordinate
 
AGSKMLNodeparentNode
 
NSError * refreshError
 
AGSKMLRefreshStatus refreshStatus
 
double rotation
 
AGSKMLImageCoordinaterotationCoordinate
 
AGSKMLImageCoordinatescreenCoordinate
 
AGSKMLImageCoordinatesize
 
NSString * snippet
 
NSInteger snippetMaxLines
 
AGSKMLStylestyle
 
AGSTimeExtenttimeExtent
 
AGSImageUXIcon
 
AGSColorUXIconColor
 
NSInteger UXIconID
 
AGSKMLViewpointviewpoint
 
BOOL visible
 

Method Documentation

◆ initWithIcon:

- (instancetype) initWithIcon: (nullable AGSKMLIcon *)  icon

Creates a screen overlay with the specified icon.

Parameters
iconThe icon associated to the screen overlay.
Since
100.7

◆ KMLNode

+ (instancetype) KMLNode
Deprecated:
100.9. Do not use this method, it creates an invalid and incomplete object.

◆ KMLScreenOverlayWithIcon:

+ (instancetype) KMLScreenOverlayWithIcon: (nullable AGSKMLIcon *)  icon

Creates a screen overlay with the specified icon.

Parameters
iconThe icon associated to the screen overlay.
Since
100.7

Property Documentation

◆ address

- (NSString*) address
readwritenonatomiccopyinherited

The address of the KML node. Represents an unstructured address such as a street, city, state address, and/or a postal code.

Since
100.7

◆ balloonBackgroundColor

- (AGSColor*) balloonBackgroundColor
readnonatomicstronginherited

The KML node's balloon background color, which should be used when showing a popup.

Note
This color can be used for the UI "chrome" that presents the balloonContent, such as the border and background of a Callout.
Since
100.4

◆ balloonContent

- (NSString*) balloonContent
readnonatomiccopyinherited

The content that should be displayed in a balloon popup of the KML node as HTML.

Since
100.4

◆ color

- (AGSColor*) color
readwritenonatomicstrong

A color mask that is used to blend the image associated with screen overlay.

Note
Pixels in the overlay image are multiplied by this color channel-by-channel.
Since
100.4

◆ drawOrder

- (NSInteger) drawOrder
readwritenonatomicassign

The KML screen overlay's draw order. It defines the stacking order for the images in overlapping overlays. Overlays with higher drawOrder values are drawn on top of overlays with lower drawOrder values.

Since
100.4

◆ extent

- (AGSEnvelope*) extent
readnonatomicstronginherited

The KML node's bounding extent.

Note
All coordinates in KML are expressed in latitude and longitude (using decimal degrees) and are in the WGS84 geographic coordinate system.
Since
100.4

◆ highlighted

- (BOOL) highlighted
readwritenonatomicassigninherited

Indicates whether the KML node is highlighted. This controls whether the default style or an alternate 'highlighted' style (if present) is used for rendering the node.

Note
This is unrelated to the concept of selection in ArcGIS Runtime.
Since
100.4

◆ highlightStyle

- (AGSKMLStyle*) highlightStyle
readwritenonatomicstronginherited

The KML node's highlight style. This style is used when the KML node has been highlighted / selected.

See also
AGSKMLStyle
Since
100.6

◆ icon

- (AGSKMLIcon*) icon
readwritenonatomicstrong

The KML scene overlay's icon.

Since
100.6

◆ name

- (NSString*) name
readwritenonatomiccopyinherited

The name of the KML node.

Since
100.4

◆ nodeDescription

- (NSString*) nodeDescription
readwritenonatomiccopyinherited

The description of the KML node.

Since
100.4

◆ nodeID

- (NSString*) nodeID
readwritenonatomiccopyinherited

The ID of the KML node.

Since
100.5

◆ overlayCoordinate

- (AGSKMLImageCoordinate*) overlayCoordinate
readwritenonatomicstrong

Specifies a point on (or outside of) the overlay image that is mapped to the screen coordinate (AGSKMLScreenOverlay::screenCoordinate). It requires x and y values, and the units for those values. The x and y values can be specified in three different ways: as pixels ("pixels"), as fractions of the image ("fraction"), or as inset pixels ("insetPixels"), which is an offset in pixels from the upper right corner of the image. The x and y positions can be specified in different ways—for example, x can be in pixels and y can be a fraction. The origin of the coordinate system is in the lower left corner of the image. If not specified, the default is the center of the overlay image.

See also
AGSKMLScreenOverlay::screenCoordinate
Since
100.7

◆ parentNode

- (AGSKMLNode*) parentNode
readnonatomicstronginherited

The KML node's parent or nil if the node is a root node.

Since
100.4

◆ refreshError

- (NSError*) refreshError
readnonatomicstronginherited

The error that was encountered during the most recent KML node refresh operation. Will be nil if the operation succeeded. The refresh error changes can be monitored using Key-Value Observing (KVO).

Since
100.4

◆ refreshStatus

- (AGSKMLRefreshStatus) refreshStatus
readnonatomicassigninherited

The refresh status of the KML node. The refresh status changes can be monitored using Key-Value Observing (KVO). Use this to update the node's properties and application UI. Please take following actions for different refresh statuses, AGSKMLRefreshStatusNone - No action required. AGSKMLRefreshStatusInProgress - Application may show an appropriate UI, such as a spinning wheel on top of the node's table of contents (TOC) icon to indicate in progress status and to restrict user interaction with the node. AGSKMLRefreshStatusCompleted - Read and update the node's properties and its children. The AGSKMLNetworkLink::childNodes changes can be monitored using Key-Value Observing (KVO). AGSKMLRefreshStatusFailed - Check refreshError to get the reason for failure and show the error message. Also, applications may show an appropriate UI cue such as a red X with the node's TOC icon to indicate the failed status.

Since
100.4

◆ rotation

- (double) rotation
readwritenonatomicassign

Indicates the angle of rotation of the parent object. A value of 0 means no rotation. The value is an angle in degrees counter clockwise starting from north. The center of the rotation, if not specified in rotation coordinate (AGSKMLScreenOverlay::rotationCoordinate), is the center of the overlay image.

Since
100.7

◆ rotationCoordinate

- (AGSKMLImageCoordinate*) rotationCoordinate
readwritenonatomicstrong

Point relative to the screen about which the screen overlay is rotated. If not specified, the rotation point is the center of the screen.

Since
100.7

◆ screenCoordinate

- (AGSKMLImageCoordinate*) screenCoordinate
readwritenonatomicstrong

Specifies a point relative to the screen origin that the overlay image is mapped to. The x and y values can be specified in three different ways: as pixels ("pixels"), as fractions of the screen ("fraction"), or as inset pixels ("insetPixels"), which is an offset in pixels from the upper right corner of the screen. The x and y positions can be specified in different ways—for example, x can be in pixels and y can be a fraction. The origin of the coordinate system is in the lower left corner of the screen. If not specified, the default is the center of the screen.

See also
AGSKMLScreenOverlay::overlayCoordinate
Since
100.7

◆ size

- (AGSKMLImageCoordinate*) size
readwritenonatomicstrong

Specifies the size of the image for the screen overlay. For example: A x value of -1 and y value of -1 in fractions indicates the image size equals its original x and y dimensions. A x value of -1 and y value of 0.2 in fractions indicates the image size equals its original x dimension and 20% of its y dimension. A x value of 100 and y value of 500 in pixels indicates the image is of size 100 pixels by 500 pixels. If not specified, the default is the original size of the image.

Since
100.7

◆ snippet

- (NSString*) snippet
readwritenonatomiccopyinherited

The KML node's snippet, if specified.

Note
A snippet is a short description that can optionally be specified for a KML Feature, either instead of or in addition to a full description.
Since
100.4

◆ snippetMaxLines

- (NSInteger) snippetMaxLines
readwritenonatomicassigninherited

The maximum number of lines of snippet to be shown in the UI.

Note
If no snippet is specified for the node, a short description can be created by taking the first few lines of the description.
Since
100.4

◆ style

- (AGSKMLStyle*) style
readwritenonatomicstronginherited

The KML node's style.

See also
AGSKMLStyle
Since
100.6

◆ timeExtent

- (AGSTimeExtent*) timeExtent
readwritenonatomicstronginherited

The KML node's time extent.

Represents the AGSTimeExtent equivalent of a KML node's TimeStamp or TimeSpan. An AGSKMLContainer node such as AGSKMLDocument or AGSKMLFolder may have its own AGSTimeExtent independent of its child nodes. All KML TimeStamps and TimeSpans specified in a KML/KMZ file are converted to their UTC AGSTimeExtent equivalents.

Examples:

KML TimeStamp AGSTimeExtent::startTime AGSTimeExtent::endTime
2021 2021-01-01T00:00:00 2021-12-31T23:59:59
2021-01 2021-01-01T00:00:00 2021-01-31T23:59:59
2021-01-01 2021-01-01T00:00:00 2021-01-01T23:59:59
2021-01-01T12:34:56 2021-01-01T12:34:56 2021-01-01T12:34:56
KML TimeSpan AGSTimeExtent::startTime AGSTimeExtent::endTime
2021 - 2022 2021-01-01T00:00:00 2022-12-31T23:59:59
2021-01 - 2021-02 2021-01-01T00:00:00 2021-02-28T23:59:59
No beginning - 2021 Infinite start time 2021-12-31T23:59:59
2021 - No end 2021-01-01T00:00:00 Infinite end time
See also
AGSTimeExtent
Since
100.11

◆ UXIcon

- (AGSImage*) UXIcon
readnonatomicstronginherited

The KML node's UX icon. Use this icon to represent the KML node in the table of contents (TOC) or anywhere else you need to display the node in the UI. The icon changes can be monitored using Key-Value Observing (KVO).

Note
The icon can change during the lifetime of the node.
Since
100.4

◆ UXIconColor

- (AGSColor*) UXIconColor
readnonatomicstronginherited

The color mask that can be used to blend the image associated with UXIcon. Pixels in the image are multiplied by this color channel-by-channel.

Note
When no icon is specified (UXIcon is nil), you can use the icon color to draw a placeholder image in the UI (for example, the TOC).
Runtime does not pre-tint the UXIcon; it is the application's responsibility to tint the image before displaying it.
Since
100.4

◆ UXIconID

- (NSInteger) UXIconID
readnonatomicassigninherited

The ID of KML node's UX icon.

Since
100.4

◆ viewpoint

- (AGSKMLViewpoint*) viewpoint
readwritenonatomicstronginherited

The KML node's viewpoint, or nil if no Camera or LookAt viewpoint is specified on the node. It specifies the vantage point for looking at the node. This can be used to show a particular node in the view (for example, if a user selected it in a TOC).

Note
You can convert from a KML viewpoint to a Runtime viewpoint in order to use it with a GeoView. See the guide documentation and samples for details.
Since
100.4

◆ visible

- (BOOL) visible
readwritenonatomicassigninherited

Indicates whether the KML node is visible or not.

Note
In order for a node to be visible, the visibility of the node and all ancestors must be true. Changing the visibility of one node may affect the other nodes in the dataset's node hierarchy, including child nodes.
Since
100.4