|
@@ -21,7 +21,7 @@ export default class Load {
|
|
|
this.layer.initLocation();
|
|
|
if (dataLocal) {
|
|
|
if (dataLocal.backgroundImg) {
|
|
|
- let bgImg = imageService.create(
|
|
|
+ let bgImg = imageService.createBackgroundImg(
|
|
|
dataLocal.backgroundImg.src,
|
|
|
dataLocal.backgroundImg.vectorId
|
|
|
);
|
|
@@ -31,6 +31,7 @@ export default class Load {
|
|
|
try {
|
|
|
if (dataLocal.backgroundImg.src) {
|
|
|
await bgImg.setImageData();
|
|
|
+ bgImg.setBounding();
|
|
|
}
|
|
|
} catch (e) {}
|
|
|
}
|
|
@@ -61,15 +62,6 @@ export default class Load {
|
|
|
} catch (e) {}
|
|
|
}
|
|
|
}
|
|
|
- if (dataLocal.texts) {
|
|
|
- for (let key in dataLocal.texts) {
|
|
|
- let text = textService.create(dataLocal.texts[key].center, key);
|
|
|
- text.setValue(dataLocal.texts[key].value);
|
|
|
- text.setFontSize(dataLocal.texts[key].fontSize);
|
|
|
- text.setColor(dataLocal.texts[key].color);
|
|
|
- text.setDisplay(dataLocal.texts[key].display);
|
|
|
- }
|
|
|
- }
|
|
|
if (dataLocal.points) {
|
|
|
for (let key in dataLocal.points) {
|
|
|
let point = pointService.create(dataLocal.points[key], key);
|
|
@@ -80,6 +72,7 @@ export default class Load {
|
|
|
point.setDisplay(dataLocal.points[key].display);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
if (dataLocal.lines) {
|
|
|
for (let key in dataLocal.lines) {
|
|
|
let line = lineService.createByPointId(
|
|
@@ -100,6 +93,16 @@ export default class Load {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (dataLocal.texts) {
|
|
|
+ for (let key in dataLocal.texts) {
|
|
|
+ let text = textService.create(dataLocal.texts[key].center, key);
|
|
|
+ text.setValue(dataLocal.texts[key].value);
|
|
|
+ text.setFontSize(dataLocal.texts[key].fontSize);
|
|
|
+ text.setColor(dataLocal.texts[key].color);
|
|
|
+ text.setDisplay(dataLocal.texts[key].display);
|
|
|
+ text.setAngle(dataLocal.texts[key].angle || 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
if (dataLocal.hasOwnProperty("currentId")) {
|
|
|
dataService.setCurrentId(dataLocal.currentId);
|
|
|
}
|
|
@@ -108,11 +111,15 @@ export default class Load {
|
|
|
}
|
|
|
} else if (data3d) {
|
|
|
if (data3d.backImage) {
|
|
|
- let bgImg = imageService.create(data3d.backImage, data3d.vectorId);
|
|
|
+ let bgImg = imageService.createBackgroundImg(
|
|
|
+ data3d.backImage,
|
|
|
+ data3d.vectorId
|
|
|
+ );
|
|
|
bgImg.setCenter(coordinate.center);
|
|
|
try {
|
|
|
if (bgImg.src) {
|
|
|
await bgImg.setImageData();
|
|
|
+ bgImg.setBounding();
|
|
|
}
|
|
|
} catch (e) {}
|
|
|
if (data3d.meterPerPixel) {
|
|
@@ -120,7 +127,7 @@ export default class Load {
|
|
|
}
|
|
|
const width = bgImg.imageData.width;
|
|
|
const height = bgImg.imageData.height;
|
|
|
-
|
|
|
+ let angle = 0;
|
|
|
if (data3d.baseLines) {
|
|
|
for (let i = 0; i < data3d.baseLines.length; ++i) {
|
|
|
//理论上基准线只能有一条
|
|
@@ -130,6 +137,15 @@ export default class Load {
|
|
|
VectorCategory.Line.BaseLine
|
|
|
);
|
|
|
Settings.baseLineId = baseLine.vectorId;
|
|
|
+
|
|
|
+ //文字要和基准线的方向一致
|
|
|
+ if (typeof baseLine.a != "undefined") {
|
|
|
+ angle = Math.atan(baseLine.a);
|
|
|
+ } else if (baseLine.hasOwnProperty("x")) {
|
|
|
+ angle = Math.PI / 2;
|
|
|
+ } else {
|
|
|
+ angle = 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if (data3d.measures) {
|
|
@@ -160,6 +176,16 @@ export default class Load {
|
|
|
point.setCategory(VectorCategory.Point.FixPoint);
|
|
|
}
|
|
|
}
|
|
|
+ if (data3d.texts) {
|
|
|
+ for (let key in data3d.texts) {
|
|
|
+ let text = textService.create(data3d.texts[key].center, key);
|
|
|
+ text.setValue(data3d.texts[key].value);
|
|
|
+ text.setFontSize(data3d.texts[key].fontSize);
|
|
|
+ text.setColor(data3d.texts[key].color);
|
|
|
+ text.setDisplay(data3d.texts[key].display);
|
|
|
+ text.setAngle(data3d.texts[key].angle || 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if (Settings.baseLineId) {
|