KmlNode

sealed class KmlNode

A KML node object. KML is a file format used to display geographic data (geometric shapes, symbology and attributes). KML uses a tag-based structure with nested elements and attributes and is based on the XML standard. The KML files are often distributed in KMZ files, which are zipped KML files with a .kmz extension.

Functions

Link copied to clipboard
suspend fun saveAs(kmzFile: String): Result<Unit>

Saves the node and any referenced local files into a zipped KMZ archive. The node will be saved to a KMZ file to ensure that any referenced files are available locally when sharing the file with others. If this method is called on a leaf node (e.g. KMLPlacemark, KMLGroundOverlay, etc), only that node and its referenced files will be saved. If this method is called on container node (e.g. KMLDocument, KMLFolder), the node and all of its children and referenced files will be saved. If this method is called on a KMLNetworkLink, the link will be saved but the children will not. This is because the children will simply be refetched when the saved KMLNetworkLink is loaded. Saving referenced files will differ based on the type of reference. For HTTP paths, the path will be saved as is but the referenced file will not be zipped into the archive, as it will simply be refetched when the new KMZ is loaded. For relative paths, the path will be saved as is and the referenced file will be zipped relative to the root of the KMZ file. For absolute paths, the path will be converted to a relative path, and the referenced file will be zipped into a "files" folder at the root of the KMZ file. For example, "C:/icons/some_icon.png" would be converted to "files/some_icon.png" and stored at that location in the KMZ file. The filename supports unicode characters as well as nested directories. It must be non-empty and there must not be an existing file located there. Saving a node to a KMZ file requires an ArcGIS Runtime 'Standard' license level.

Properties

Link copied to clipboard
var address: String

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

Link copied to clipboard
val balloonBackgroundColor: Color?

The color to be used for the KML node balloon. A color mask that can be used to color the balloon of a KML node. This color can be used for the UI "chrome" that presents the KmlNode.getBalloonContent(), such as the background color of a callout.

Link copied to clipboard
val balloonContent: String

The balloon content that should be displayed in a balloon popup for the KML node. The provided HTML is suitable for display in a web view.

Link copied to clipboard
var description: String

The description of the KML node.

Link copied to clipboard
val extent: Envelope?
Link copied to clipboard
var highlightStyle: KmlStyle?
Link copied to clipboard
var id: String

The ID of the KML node. The ID is a standard XML ID and can be empty.

Link copied to clipboard
var isHighlighted: Boolean

A flag indicating if the KML node is highlighted. Highlights the node if is_highlighted is true, unhighlights it otherwise. All of the connected map views will be updated. This controls whether the default style or an alternate 'highlighted' style (if present) is used for rendering the node. This is unrelated to the concept of selection in this API.

Link copied to clipboard
var isVisible: Boolean

A flag indicating if the KML node is visible. Makes the node visible if is_visible is true, hides it otherwise. All of the connected map views will be updated. In order for a node to be visible, all of its ancestors must also be visible. Changing the visibility of one node may affect visibility of other nodes in the dataset hierarchy, such as child nodes.

Link copied to clipboard
var name: String

The name of the KML node.

Link copied to clipboard
val parentNode: KmlNode?
Link copied to clipboard
val refreshError: Throwable?
Link copied to clipboard
val refreshStatus: StateFlow<KmlRefreshStatus>

The KML node's refresh status. Use the node refresh status to update the node's properties and update application UI.

Link copied to clipboard
var snippet: String

The KML node's snippet. Snippets can be defined for KML nodes as an additional short description for UI display. If no snippet is specified, you can take the first few lines of the KmlNode.getDescription(). The maximum number of lines to display is specified by the KmlNode.getSnippetMaxLines() property.

Link copied to clipboard
var snippetMaxLines: Int

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

Link copied to clipboard
var style: KmlStyle?
Link copied to clipboard
var timeExtent: TimeExtent?
Link copied to clipboard
val uxIcon: BitmapDrawable?
Link copied to clipboard
val uxIconColor: Color?

The color mask used to tint the node's icon. A color mask that can be used to blend the image associated with the KML node. Pixels in the image are multiplied by this color channel-by-channel. Colors in KML are specified in ABGR order. When no UX icon is specified, you can use this color to draw a placeholder for use in the UI (for example, a legend). UX icons are not pre-tinted; it is the application's responsibility to apply the tint color to the UX icon before displaying it.

Link copied to clipboard
val uxIconId: Int

The UX icon id. The icon id associate with KML node.

Link copied to clipboard
var viewpoint: KmlViewpoint?

Inheritors

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard