Class KmlNode
A single node within a KML document.
Inheritance
Implements
Namespace: Esri.ArcGISRuntime.Ogc
Assembly: Esri.ArcGISRuntime.dll
Syntax
public abstract class KmlNode : INotifyPropertyChanged
Remarks
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.
A KmlNode corresponds to the KML concept of a Feature. KmlNode is an abstract type that describes properties common to all KML Features, such as: Name, Description, IsVisible, Viewpoint, etc. The following table maps KML Features Types to ArcGIS Runtime types:
KML Feature Type | Runtime Type | Notes |
---|---|---|
Container | KmlContainer | Abstract type. Contains properties common to KmlDocument and KmlFolder. |
Document | KmlDocument | |
Folder | KmlFolder | |
Placemark | KmlPlacemark | Properties can be found on individual overlay subtypes instead. |
Overlay | N/A | |
GroundOverlay | KmlGroundOverlay | |
ScreenOverlay | KmlScreenOverlay | |
PhotoOverlay | KmlPhotoOverlay | |
NetworkLink | KmlNetworkLink |
Examining individual nodes may be useful for: viewing attributes of the KML data, seeing the organization/structure within the KmlDataset, toggling visibility of KML features, and navigating to specific KML features.
It should be noted that a typical KML document will have multiple levels of nested KML nodes. Therefore to accurately traverse through all of the KML node information in a KmlDataset, it is recommended to recursively test all KmlNodes to see if they contain additional child KmlNodes. When writing your recursive function pay particular attention to the properties: KmlDataset.RootNodes, KmlNetworkLink.ChildNodes, and KmlContainer.ChildNodes (inherited by KmlDocument and KmlFolder).
Properties
Name | Description |
---|---|
Address | Gets or sets an address associated with this node. |
BalloonBackgroundColor | Gets the color that should be used for the background of the node's popup balloon. |
BalloonContent | Gets the balloon popup content for this KML node as a string containing HTML. |
Description | Gets or sets the description of this KML node. |
ExtendedNonSchemaData | Gets or sets the non-schema data present in the extended data of a KML node. |
ExtendedSchemaData | Gets a collection of schema data present in the extended data of a KML node. |
Extent | Gets the bounding extent of this KML node. |
HighlightStyle | Gets or sets the style used to render this KML node when IsHighlighted is |
Id | Gets or sets the ID of the KML node. |
IsHighlighted | Gets or sets a value indicating whether this KML node is highlighted. |
IsVisible | Gets or sets a value indicating whether this KML node is visible. |
Name | Gets or sets the name of this KML node. |
Parent | Gets the parent of this node. |
RefreshError | Gets the reason for refresh failure if the RefreshStatus is Failed. |
RefreshStatus | Gets the KML node's refresh status. |
Snippet | Gets or sets the optional snippet for this KML node. |
SnippetMaxLines | Gets or sets the maximum number of lines of snippet to be shown in the UI. |
Style | Gets or sets the style used to render this KML node. |
TimeExtent | Gets or sets the node's time extent. |
UxIcon | Gets the icon associated with this KML node for use in the user interface. |
UxIconColor | Gets the color used to tint the UX icon. |
UxIconId | Gets the UX icon id. |
Viewpoint | Gets or sets the KmlViewpoint associated with this KML node or |
Methods
Name | Description |
---|---|
OnPropertyChanged(String) | Called when a property changes. |
SaveAsAsync(String) | Saves this node and any referenced local files as a KMZ archive. |
WriteToAsync(Stream) | Saves this node and any referenced local files into the given System.IO.Stream as a KMZ archive. |
Events
Name | Description |
---|---|
PropertyChanged | Occurs when a property value changes. |
Applies to
Target | Versions |
---|---|
.NET Standard 2.0 | 100.4 - 200.6 |
.NET | 100.13 - 200.6 |
.NET Windows | 100.13 - 200.6 |
.NET Android | 200.0 - 200.6 |
.NET iOS | 200.0 - 200.6 |
.NET Framework | 100.4 - 200.6 |
Xamarin.Android | 100.4 - 100.15 |
Xamarin.iOS | 100.4 - 100.15 |
UWP | 100.4 - 200.6 |