社内システム育成日記

デイサービスでの簡単なシステムをファイルメーカーで作成しています。備忘録を綴っていきます。

JSON形式でのVirtual List活用【FileMaker】

hotspiringday.hatenablog.com

前回は緯度経度から2点間の距離を計算する方法をご紹介しました。

この話題、私が事務局として仲間に入れてもらっている、介護meetsFileMakerでも先日LTしました。

介護 meets FileMaker #4 みんなでわいわい集まって、医療×介護情報連携システムをFMで開発された事例をお聞きしよう! | Peatix

この記事では、LTでは時間がなくてご紹介できなかった、計算した距離のデータをバーチャルリストで表示させるところをご紹介したいと思います。

デモで、2つのテーブル(スポットAとスポットB)を用意しました。 スポットAは拠点となりそうな場所、スポットBは食べログさんから参照した、福岡 焼き鳥 人気ランキングTOP20のうちTOP10を参照しています。

tabelog.com

▼スポットA f:id:hotspiringday:20210514094222p:plain

▼スポットB f:id:hotspiringday:20210514094230p:plain

画面の動きはこんな感じ

f:id:hotspiringday:20210514115512g:plain

スポットAを選択すると、焼き鳥屋さんとの距離を計算して一度それらをグローバル変数にしています。 f:id:hotspiringday:20210514115726p:plain

▼バーチャルリストのテーブル定義 f:id:hotspiringday:20210514115818p:plain

距離というフィールドはなく、$$resultという変数を作るタイミングで距離を計算しています。 f:id:hotspiringday:20210514120155p:plain

この変数はFileMaker data API から実行スクリプトで作ってもらう形に合わせてみました。 バーチャルリストのテーブルは使い回す前提ですし、その方が良いと思いました。 f:id:hotspiringday:20210514121029p:plain

バーチャルリストだと、例えば今後お寿司屋さんのデータが入るスポットCというテーブルが新たにできたとして、結果を表示するレイアウトを作る手間が省けます。 ほぼスクリプトを追加するだけですね。

以前は改行区切りのリストを変数にしたバーチャルリストを作っていましたが、FileMakerJSON関数やdata APIを実行スクリプトを活用し、一旦JSON形式にすることで開発が楽になっています。

※バーチャルリストってそもそも何?という方はこちらの動画がわかりやすいのでぜひご覧ください。

community.claris.com