ログ入力画面を大幅に強化

前回構築したQSOログ入力画面に対し、実際に使いながら多数の改善を行った。

コールサイン検索モーダル

検索ボタンを押すと、総務省と過去ログの両方を同時に検索してモーダルで表示するようにした。従来は片方しか表示されなかったが、両ソースを並べて比較できる。モーダルのタイトルには過去の交信回数も表示し、初交信かどうかが一目でわかる。

各ソースの横に [QTH] ボタンを配置し、押すと相手QTHとJCCコードが入力欄に反映される。移動運用で常置場所と異なる場所にいるケースに対応するため、QTHの自動入力をやめてボタン式にした。

コールサイン入力の分離

コールサイン入力欄を [ベースコール] [検索] / [サフィックス] の3パーツに分離した。JR2BEB/3 のようなポータブル運用時、ベースコールで検索しつつサフィックスを個別に入力できる。/P(ポータブル)や /M(モービル)にも対応。

自局QTH — 常置場所 / 移動 / GPS

運用設定の自局QTHに3つのモードを用意した。
  • 常置場所: 無線局免許の登録住所から自動取得。JCCコードも自動マッチング
  • 移動: 手入力 + JCCオートコンプリート
  • GPS: スマホのGPS位置情報から現在地を自動特定。Nominatim逆ジオコーディングで住所を取得し、JCCマスターと照合してコードを自動発番

JCCコード自動マッチング

総務省APIから取得した常置場所(例: 愛知県名古屋市熱田区)から都道府県を除去し、JCCマスターのname_fullカラムと照合してコードを自動特定する仕組みを実装。完全一致 → 前方一致の順で検索し、市・区・郡すべてに対応。

PC用3行レイアウト

768px以上の画面幅では、QSO入力フォームを3行のコンパクトなレイアウトに変更した。
  • 1行目: 周波数 / モード / コールサイン / 開始日時 / 終了日時
  • 2行目: OP名 / QTH / JCC / RST→ / RST←
  • 3行目: QSL / 備考 / 保存ボタン
下部には交信ログ一覧(直近30件)を表示。スマホでは従来通りの縦積みレイアウトを維持。

運用設備フォーム改善

設備登録フォームを 種別 / メーカー / 名称 / 備考 の4項目に変更。一覧では「YAESU FT-60」のようにメーカー名付きで表示される。

CSS修正

チェックボックスとラジオボタンに -webkit-appearance: none が適用されていた問題を修正。appearance: auto を明示的に指定し、ネイティブの表示に復元した。

技術構成の追加

  • api/gps.php: GPS逆ジオコーディングAPI(Nominatim連携 + JCCマッチング)
  • api/callsign.php: 両ソース同時検索 + 交信回数カウントに拡張
  • logbook_equipment: makerカラム追加