5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FileMaker//AppleMapを表示する

Last updated at Posted at 2018-12-13

FileMakerでAppleMapを使うにはどうしたらいいかという「さぽらぼ」で得たひらめきをサンプルにしてみました。こちらの記事からの続きです

##リファレンス
Apple URL Scheme Reference
以下、これを元に作ってみたカスタムApp製作工程です

#作成サンプル:AppleMapを使う
AppleのMapをFileMakerに埋め込む(=Webビューアに入れる)のはハードル高そうなのですが、**「餅は餅屋、Mapの機能はMapでやってもらえば」**という参加者の方のアドバイスもあり、以下のようなカスタムAppを作ってみました
##基本レイアウトはこんな感じ
サンプル.png
各項目を設定して、いらすとやさんのボタンをクリックすると、AppleMapが開いて結果を表示してくれるようにしようと思います

##フィールド名はこんな感じ
image.png
上から5つのフィールドはFM17が勝手に作ってくれるので、実際に追加したのは下の4フィールドだけです

AppleMapスクリプト
# -------------------------------------------------
# AppleMapを呼び出すスクリプト
# -------------------------------------------------
変数を設定 [ $saddress ; 値: MAP::出発地点 ] 
変数を設定 [ $daddress ; 値: MAP::目標地点 ] 
変数を設定 [ $maptype ; 値: Case ( MAP::MapType = "サテライト" ; "k"; MAP::MapType = "ハイブリッド" ; "h"; MAP::MapType = "交通機関" ; "r";  "m") ] 
変数を設定 [ $transittype ; 値: Case ( MAP::交通タイプ ="公共交通機関" ; "r"; MAP::交通タイプ ="徒歩" ; "w";  "d" ) ] 
変数を設定 [ $query ; 値: "saddr=" & $saddress & "&daddr=" & $daddress & "&t=" & $maptype & "&dirflg=" & $transittype ] 
# 
URL を開く [ ダイアログあり: オフ ; "http://maps.apple.com/?" & $query ] 

1 出発地点
2 目標地点
3 マップのタイプ(ラジオボタンの結果をURLスキーマのValueに変換)
4 交通手段(ラジオボタンの結果をURLスキーマのValueに変換)
の4つの変数を得て、URLスキーマhttp://maps.apple.com/?にくっつけます

##実行結果
スクリーンショット 2018-12-13 14.50.57.png
Mapアプリが起動して、経路を表示してくれました
・Windowsで実行するとどうなるか試してみたのですが、その場合は規定のブラウザを呼び出した上でGoogleMapで表示するようです。

##iOSで開けない?
このファイルをiOS上で実行した時に、URLが開けない問題が発生中
Version16だと開くことができます
17特有のバグと考えて、以下のように回避策をとりあえず設定しています

Go17の場合はGoogleMapを開くようにする
If [ PatternCount ( Get ( アプリケーションバージョン ) ; 17 ) and Get ( システムプラットフォーム )=3] 
	# Version17では表示できない症状を確認したため、一時的にGoogleMapに避難
	変数を設定 [ $directionmode ; 値: Case (  $transittype="w" ; "walking" ;  $transittype="r" ; "transit" ; "driving") ] 
	URL を開く [ ダイアログあり: オフ ; "comgooglemapsurl://maps.google.com/maps?saddr=" & $saddress  & "&daddr=" & $daddress & "&directionmode=" & $directionmode ] 
Else
	URL を開く [ ダイアログあり: オン ; "https://maps.apple.com/?" & $query ] 
End If

##SpecialThanks〜年末の挨拶に代えて〜
さぽらぼで色々教えていただいたp388cellさん、アドベントカレンダーを起案いただいたtyumaさんほか一緒に勉強している皆様、場所と楽しい時間を提供いただいている株式会社サポータスの佐々木さん・杉浦さんほか会社の皆様のおかげで、FileMakerで何かを作るどころか記事を書くことができるようになりました。
今年も本当にありがとうございました。来年もよろしくお願いいたします

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?