riku
2025-09-11 307b17ef15c73a071912a262834f2a5f68e1fa87
src/utils/map/3dLayer.js
@@ -116,12 +116,20 @@
  var geometry = cylinder.geometry;
  const scale = _getScale(_minH, _maxH);
  var minH = heights[0];
  var maxH = heights[0];
  for (let i = 0; i < heights.length; i++) {
    const h = heights[i];
    minH = Math.min(minH, h);
    maxH = Math.max(maxH, h);
  }
  const scale = _getScale(minH, maxH);
  for (let i = 0; i < coors.length; i++) {
    var r = lnglats_GD[i];
    var lastP = lnglats_GD[i - 1];
    var p = coors[i];
    var h = (heights[i] - _minH) * scale + _minHeight;
    var h = (heights[i] - minH) * scale + _minHeight;
    if (heights[i] == -1) {
      h = -1;
    }
@@ -277,17 +285,17 @@
    map.off('zoomend', onMapZoom);
    // 2.计算绘图高度的边界值
    if (merge != true) {
      var minH = _minH < 0 ? heights[0] : _minH;
      var maxH = _maxH < 0 ? heights[0] : _maxH;
      for (let i = 0; i < heights.length; i++) {
        const h = heights[i];
        minH = Math.min(minH, h);
        maxH = Math.max(maxH, h);
      }
      _minH = minH;
      _maxH = maxH;
    }
    // if (merge != true) {
    //   var minH = _minH < 0 ? heights[0] : _minH;
    //   var maxH = _maxH < 0 ? heights[0] : _maxH;
    //   for (let i = 0; i < heights.length; i++) {
    //     const h = heights[i];
    //     minH = Math.min(minH, h);
    //     maxH = Math.max(maxH, h);
    //   }
    //   _minH = minH;
    //   _maxH = maxH;
    // }
    // 5.绘制3D图形
    this.drawMesh(fDatas, factor, merge);