`**:这个片段在一个页面里会出现两次(出发地/到达地), * for/id 对不上就会互相抢焦点。用包裹式 label。 * * 用法(require 前设好): * $locPrefix 前缀('from' | 'to'),决定所有 id 与字段名 * $locLabel 标签文字(「出发地」「到达地」) * $locIcon 标签前的小图标(可选) * $locPlaceholder 占位提示 * $locRow 行数据(可选;编辑时回填):name/address/lng/lat 四个键 */ declare(strict_types=1); $locPrefix = (string)($locPrefix ?? 'from'); $locLabel = (string)($locLabel ?? '地点'); $locIcon = (string)($locIcon ?? ''); $locPlaceholder = (string)($locPlaceholder ?? '输入地址,如「青岛北站」'); $locRow = is_array($locRow ?? null) ? $locRow : []; $locName = (string)($locRow['name'] ?? ''); $locAddr = (string)($locRow['address'] ?? ''); $locLng = (string)($locRow['lng'] ?? ''); $locLat = (string)($locRow['lat'] ?? ''); // 导航链接:有坐标走 navigation,没坐标退化成"按名字搜" $locNav = \App\Geo::navUrl($locLng, $locLat, $locName); $locId = 'loc-' . $locPrefix; ?>