A
DataSource
which processes Keyhole Markup Language 2.2 (KML).
KML support in Cesium is incomplete, but a large amount of the standard,
as well as Google's gx
extension namespace, is supported. See Github issue
#873 for a
detailed list of what is and isn't support. Cesium will also write information to the
console when it encounters most unsupported features.
Non visual feature data, such as atom:author
and ExtendedData
is exposed via an instance of KmlFeatureData
, which is added to each Entity
under the kml
property.
Name | Type | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
An object with the following properties:
|
Example:
var viewer = new Cesium.Viewer('cesiumContainer');
viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/facilities.kmz',
{
camera: viewer.scene.camera,
canvas: viewer.scene.canvas
})
);
Demo:
See:
Members
changedEvent : Event
Gets an event that will be raised when the underlying data changes.
Gets the clock settings defined by the loaded KML. This represents the total
availability interval for all time-dynamic data. If the KML does not contain
time-dynamic data, this value is undefined.
clustering : EntityCluster
Gets or sets the clustering options for this data source. This object can be shared between multiple data sources.
Gets the collection of
Entity
instances.
errorEvent : Event
Gets an event that will be raised if an error is encountered during processing.
Gets a value indicating if the data source is currently loading data.
loadingEvent : Event
Gets an event that will be raised when the data source either starts or stops loading.
Gets or sets a human-readable name for this instance.
This will be automatically be set to the KML document name on load.
refreshEvent : Event
Gets an event that will be raised when the data source refreshes a network link.
Gets whether or not this data source should be displayed.
unsupportedNodeEvent : Event
Gets an event that will be raised when the data source finds an unsupported node type.
Methods
staticCesium.KmlDataSource.load(data, options) → Promise.<KmlDataSource>
Creates a Promise to a new instance loaded with the provided KML data.
Name | Type | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data |
Resource | String | Document | Blob | A url, parsed KML document, or Blob containing binary KMZ data or a parsed KML document. | ||||||||||||||||||||||||
options |
Object |
An object with the following properties:
|
Returns:
A promise that will resolve to a new KmlDataSource instance once the KML is loaded.
load(data, options) → Promise.<KmlDataSource>
Asynchronously loads the provided KML data, replacing any existing data.
Name | Type | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
data |
Resource | String | Document | Blob | A url, parsed KML document, or Blob containing binary KMZ data or a parsed KML document. | ||||||||||||||||
options |
Object |
optional
An object with the following properties:
|
Returns:
A promise that will resolve to this instances once the KML is loaded.
Updates any NetworkLink that require updating
Name | Type | Description |
---|---|---|
time |
JulianDate | The simulation time. |
Returns:
True if this data source is ready to be displayed at the provided time, false otherwise.