UNPKG

geopf-extensions-openlayers

Version:

French Geoportal Extensions for OpenLayers libraries

150 lines 5.15 kB
export default KML; /** * @classdesc * * Extended Styles KML format to export (internal use only !) * * INFO * only ol.Control is a user-extendable class. * Everything else requires integration with the original openlayers source and a new ol.js * to be built with your new classes incorporated. * * SPEC * cf. https://developers.google.com/kml/forum/advanced * * ISSUES * cf. https://github.com/openlayers/openlayers/issues/4829 * cf. https://github.com/openlayers/openlayers/issues/4460 * cf. https://github.com/openlayers/openlayers/pull/5590 * cf. https://github.com/openlayers/openlayers/issues/5229 * cf. https://github.com/openlayers/openlayers/issues/3371 * * @alias ol.format.KMLExtended * @module KMLExtended * */ declare class KML extends olKML { /** * @constructor * @param {Object} options - Options * @param {Object} [options.extensions] - Add properties to file root */ constructor(options: { extensions?: any; }); source: Document | Node | HTMLElement | null; extensions: any; /** * * En lecture, on surcharge la méthode readFeatures. * ✔️ In : kml string + features du format original * ✔️ Out : features étendus avec des styles, et des metadatas (name ou extendData) * > on modifie les features du format original avec les fonctionnalités non gérées. * * En écriture, on surcharge la méthode writeFearures. * ✔️ In : kml du format original + features étendus * ✔️ Out : kml étendu avec des styles, et des metadatas (name ou extendData) * > on modifie le kml généré par le format original avec les fonctionnalités que nous avons ajoutées aux features. * * Le principe * On parse le kml, et on lit (get) ou on ajoute (set) des fonctionnalités. * * Les getters vont lire le kml (ex. LabelExtendStyle), et ajouter le style ainsi que le nom du label dans le feature original. * getLabelIconStyle (appel des 2 fonctions suivantes) * getLabelExtendStyle (New) * getHotSpotIconStyle (Bug sur la lecture du hotspot) * getExtendData (New) * * Les setters vont écrire dans le dom du kml original les fonctionnalités ajoutées dans les features. * setLabelExtendStyle (New) * setHotSpotIconStyle (Bug sur l'écriture du hotspot) * setNameData (Bug suppression de cette balise du format par défaut). * */ /** * Fonction de lecture du KML avec fonction de traitement en fonction du type * PlaceMark (Label ou Marker). * Les traitements sont de 2 types : * - creation de styles étendus ou correctifs sur le KML * - ajout de styles étendus sur les features * * @param {HTMLElement} kmlNode - kml nodes * @param {Feature[]} features - features * @param {Object} process - process * * @example * // ajoute des fonctionnalités dans le KML * _processKml(kmlDoc, { * labelStyle : createStyleLabel, * iconStyle : createStyleIcon * }); * * // lit des fonctionnalités du KML non impl. par OpenLayers * _processKml(kmlNode, { * labelStyle : getStyleToFeatureLabel, * iconStyle : getStyleToFeatureIcon, * extendedData : getExtendedData * }); */ _processKml(kmlNode: HTMLElement, features: Feature[], process: any): void; /** * Write Extend for Features. * This function overloads ol.format.KML.writeFeatures ... * * @see olKML#writeFeatures * @param {Feature[]} features - Features. * @param {Object} options - Options. * * @returns {String} kml string formatted */ writeFeatures(features: Feature[], options: any): string; /** * Write Extended Styles for each features * * @param {HTMLElement} kmlNode - kml nodes * @param {Feature[]} features - features * @param {Object} options - options * * @returns {String} kml string extended * * @private */ private _writeExtendStylesFeatures; /** * ... * * @param {*} kmlNode - ... * @param {*} extensions - ... */ _writeRootExtensions(kmlNode: any, extensions: any): void; /** * Read Extend for Features. * This function overloads ol.format.KML.readFeatures ... * * @see olKML#readFeatures * @param {Document|Node} source - Source. * @param {Object} options - options. see olx.format.ReadOptions * @returns {Feature[]} Features. */ readFeatures(source: Document | Node, options: any): Feature[]; /** * Read Extended Styles for each features * * @param {(Document|Node|ArrayBuffer|Object|String)} source - source * @param {Object} options - options see olx.format.ReadOptions * * @returns {Feature[]} features * * @private */ private _readExtendStylesFeatures; /** * ... * @param {*} key ... * @returns {Object} json */ readRootExtensions(key: any): any; } import olKML from "ol/format/KML"; import Feature from "ol/Feature"; //# sourceMappingURL=KML.d.ts.map