# 几何计算地图选点功能 - 手动修复指南 ## 问题描述 `/components/field/FieldSpatialQuery.tsx` 文件包含重复的代码结构: - 页面主体部分有一套几何计算代码 - **对话框**(Dialog)中有另一套几何计算代码(第1457-1914行) 需要为**对话框中**的以下3个Tab添加地图选点功能: 1. 中心点计算 (centroid) - 第1692-1750行 2. 距离计算 (distance) - 第1754-1836行 3. 包围盒计算 (bbox) - 第1840-1910行 ## 修复步骤 ### 步骤1:修改中心点计算Tab(第1692-1750行左右) **查找位置**:在对话框中找到以下代码(约第1692行): ```tsx {/* 中心点计算 */}

多边形坐标点

``` **替换为**: ```tsx {/* 中心点计算 */} {/* 选择方式切换 */}
{mapPickMode === 'polygon' ? ( ) : (

多边形坐标点

``` **继续替换按钮部分**: 找到(约第1720行): ```tsx {(mapPickMode === 'distance-p1' || mapPickMode === 'distance-p2') ? (

💡 当前模式:选择{mapPickMode === 'distance-p1' ? '点1' : '点2'}坐标

{ if (points.length > 0) { if (mapPickMode === 'distance-p1') { setDistPoint1(points[0]); } else { setDistPoint2(points[0]); } } }} height="400px" title={`在地图上选择${mapPickMode === 'distance-p1' ? '点1' : '点2'}位置`} />
) : (

两点坐标

``` **继续替换按钮部分**: 找到(约第1808行): ```tsx {mapPickMode === 'polygon' ? ( ) : (

多边形坐标点

``` **继续替换按钮部分**: 找到(约第1868行): ```tsx