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

Description

A KML Document element.

An instance of this class represents a KML <Document> element which is a container for KML nodes and styles.

Since
100.4
Inheritance diagram for AGSKMLDocument:
AGSKMLContainer AGSKMLNode AGSObject

Instance Methods

(void) - addChildNode:
 
(void) - insertChildNode:atIndex:
 
(void) - removeAllChildNodes
 
(void) - removeChildNodeAtIndex:
 
(id< AGSCancelable >) - saveToFileURL:completion:
 

Class Methods

(instancetype) + KMLContainer
 
(instancetype) + KMLDocument
 
(instancetype) + KMLNode
 

Properties

NSString * address
 
AGSColorballoonBackgroundColor
 
NSString * balloonContent
 
NSArray< AGSKMLNode * > * childNodes
 
AGSEnvelopeextent
 
BOOL highlighted
 
AGSKMLStylehighlightStyle
 
AGSKMLListItemType listItemType
 
NSString * name
 
NSString * nodeDescription
 
NSString * nodeID
 
BOOL open
 
AGSKMLNodeparentNode
 
BOOL partiallyVisible
 
NSError * refreshError
 
AGSKMLRefreshStatus refreshStatus
 
NSString * snippet
 
NSInteger snippetMaxLines
 
AGSKMLStylestyle
 
AGSTimeExtenttimeExtent
 
AGSImageUXIcon
 
AGSColorUXIconColor
 
NSInteger UXIconID
 
AGSKMLViewpointviewpoint
 
BOOL visible
 

Method Documentation

◆ addChildNode:

- (void) addChildNode: (AGSKMLNode *)  node

Add node to childNodes.

Since
100.6

◆ insertChildNode:atIndex:

- (void) insertChildNode: (AGSKMLNode *)  node
atIndex: (NSInteger)  index 

Insert node to childNodes at given index.

Since
100.6

◆ KMLContainer

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

◆ KMLDocument

+ (instancetype) KMLDocument

Initialize a new KML document.

Since
100.6

◆ KMLNode

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

◆ removeAllChildNodes

- (void) removeAllChildNodes

Remove all childNodes.

Since
100.6

◆ removeChildNodeAtIndex:

- (void) removeChildNodeAtIndex: (NSInteger)  index

Remove node by index from childNodes.

Since
100.6

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

◆ childNodes

- (NSArray<AGSKMLNode*>*) childNodes
readnonatomiccopyinherited

KML container's child nodes.

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

◆ listItemType

- (AGSKMLListItemType) listItemType
readwritenonatomicassigninherited

Specifies the container type, which determines how visibility and selection should work in a table of contents.

Since
100.4

◆ 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

◆ open

- (BOOL) open
readwritenonatomicassigninherited

Indicates whether the node representing this container in a table of contents view should be displayed expanded (open) in a tree view.

Since
100.4

◆ parentNode

- (AGSKMLNode*) parentNode
readnonatomicstronginherited

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

Since
100.4

◆ partiallyVisible

- (BOOL) partiallyVisible
readnonatomicassigninherited

Indicates whether the node representing this container in a table of contents view should be displayed in manner that conveys that its child nodes have mixed visibility.

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

◆ 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