@kimap/indoor-positioning-sdk-vue2 3.4.1 → 3.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/KimapCore.browser.js +7 -5
- package/src/KimapCore.js +9 -7
package/package.json
CHANGED
package/src/KimapCore.browser.js
CHANGED
|
@@ -159,7 +159,10 @@
|
|
|
159
159
|
config.modelToRealScale = parseFloat(line.split(' ')[2]);
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
-
|
|
162
|
+
// 只在遇到 End Config Info 时停止(不要在 End Border Info 时停止)
|
|
163
|
+
if (line.indexOf('End Config Info') !== -1) {
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
163
166
|
}
|
|
164
167
|
|
|
165
168
|
return foundConfig ? config : null;
|
|
@@ -688,13 +691,12 @@
|
|
|
688
691
|
};
|
|
689
692
|
|
|
690
693
|
// 定位策略:
|
|
691
|
-
//
|
|
692
|
-
// 2. Y方向:将模型底部(box.min.y)对齐到origin.y(通常是地面)
|
|
694
|
+
// 将模型左上角(min.x, min.z)对齐到原点,使(0,0)在左上角
|
|
693
695
|
var origin = this.coordinateSystem.origin;
|
|
694
696
|
this.mapModel.position.set(
|
|
695
|
-
origin.x -
|
|
697
|
+
origin.x - box.min.x, // X方向:左边界对齐
|
|
696
698
|
origin.y - box.min.y, // Y方向:底部对齐地面
|
|
697
|
-
origin.z -
|
|
699
|
+
origin.z - box.min.z // Z方向:上边界对齐
|
|
698
700
|
);
|
|
699
701
|
|
|
700
702
|
console.log('📦 模型包围盒:');
|
package/src/KimapCore.js
CHANGED
|
@@ -252,8 +252,8 @@ function extractMapConfigFromOBJ(objContent) {
|
|
|
252
252
|
config.modelToRealScale = parseFloat(line.split(' ')[2]);
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
-
//
|
|
256
|
-
if (line.indexOf('End Config Info') !== -1
|
|
255
|
+
// 只在遇到 End Config Info 时停止(不要在 End Border Info 时停止)
|
|
256
|
+
if (line.indexOf('End Config Info') !== -1) {
|
|
257
257
|
break;
|
|
258
258
|
}
|
|
259
259
|
}
|
|
@@ -555,13 +555,14 @@ SceneCore.prototype.loadMap = function(OBJLoader, MTLLoader) {
|
|
|
555
555
|
box.getCenter(center);
|
|
556
556
|
|
|
557
557
|
var origin = self.coordinateSystem.origin;
|
|
558
|
+
// 将模型左上角(min.x, min.z)对齐到原点,而不是居中
|
|
558
559
|
self.mapModel.position.set(
|
|
559
|
-
origin.x -
|
|
560
|
+
origin.x - box.min.x, // X方向:左边界对齐
|
|
560
561
|
origin.y - box.min.y, // Y方向:底部对齐地面
|
|
561
|
-
origin.z -
|
|
562
|
+
origin.z - box.min.z // Z方向:上边界对齐
|
|
562
563
|
);
|
|
563
564
|
|
|
564
|
-
console.log('✅
|
|
565
|
+
console.log('✅ 模型左上角已对齐到原点');
|
|
565
566
|
|
|
566
567
|
// 统计模型信息
|
|
567
568
|
var meshCount = 0;
|
|
@@ -735,10 +736,11 @@ SceneCore.prototype.loadMap = function(OBJLoader, MTLLoader) {
|
|
|
735
736
|
box.getCenter(center);
|
|
736
737
|
|
|
737
738
|
var origin = self.coordinateSystem.origin;
|
|
739
|
+
// 将模型左上角(min.x, min.z)对齐到原点,而不是居中
|
|
738
740
|
self.mapModel.position.set(
|
|
739
|
-
origin.x -
|
|
741
|
+
origin.x - box.min.x, // X方向:左边界对齐
|
|
740
742
|
origin.y - box.min.y, // Y方向:底部对齐地面
|
|
741
|
-
origin.z -
|
|
743
|
+
origin.z - box.min.z // Z方向:上边界对齐
|
|
742
744
|
);
|
|
743
745
|
|
|
744
746
|
console.log('✅ 模型已居中对齐到原点');
|