代码迁移
This commit is contained in:
53
src/Global/ExportKml/index.js
Normal file
53
src/Global/ExportKml/index.js
Normal file
@ -0,0 +1,53 @@
|
||||
/**
|
||||
* @name: index
|
||||
* @author: Administrator
|
||||
* @date: 2023-09-11 16:41
|
||||
* @description:index
|
||||
* @update: 2023-09-11 16:41
|
||||
*/
|
||||
import BillboardObject from "../../Obj/Base/BillboardObject";
|
||||
import PolygonObject from "../../Obj/Base/PolygonObject";
|
||||
import PolylineObject from "../../Obj/Base/PolylineObject";
|
||||
import Circle from "../../Obj/Base/CircleDiffuse";
|
||||
|
||||
function exportKml(list = []) {
|
||||
|
||||
let entities = new Cesium.EntityCollection();
|
||||
list.forEach(entity => {
|
||||
if (
|
||||
entity instanceof BillboardObject ||
|
||||
entity instanceof PolygonObject ||
|
||||
entity instanceof Circle ||
|
||||
entity instanceof PolylineObject
|
||||
) {
|
||||
entities.add(entity.entity)
|
||||
}
|
||||
})
|
||||
if (entities.values.length) {
|
||||
let promise = Cesium.exportKml({entities})
|
||||
promise.then(e => {
|
||||
// Cesium.exportKml(e.kml,)
|
||||
funDownload(e.kml, new Date().getTime() + ".kml")
|
||||
})
|
||||
} else {
|
||||
console.error("允许导出为kml的对象为空")
|
||||
}
|
||||
}
|
||||
|
||||
function funDownload(content, filename) {
|
||||
let eleLink = document.createElement("a");
|
||||
eleLink.download = filename;
|
||||
eleLink.style.display = "none";
|
||||
// 字符内容转变成blob地址
|
||||
let blob = new Blob([content]);
|
||||
eleLink.href = URL.createObjectURL(blob);
|
||||
// 触发点击
|
||||
document.body.appendChild(eleLink);
|
||||
eleLink.click();
|
||||
// 然后移除
|
||||
document.body.removeChild(eleLink);
|
||||
}
|
||||
|
||||
|
||||
export default exportKml
|
||||
|
||||
Reference in New Issue
Block a user