アプリケーション作ることを主体にした企画、現在作成中の『お小遣い帳』をいよいよ Nomad アプリらしい作りこみを行います。GPS から現在位置を取得して、GoogleMAP API と連携し、近隣の情報を表示する機能を追加します。
今回の作業では、他の記事で作成した機能を流用して、組み上げます。詳細が知りたいときはそちらの記事もご確認ください。
先月リリースされたNomad iOS 1.0.40 では iOS のバージョンによっては WebAPI が動かない問題がありました。iOS の方は先日リリースされた 1.0.41 にアップデートの上お試しください。
作成する機能
まずは、スマホの GPS から現在位置の取得です。フォームを開くと下図の通り、現在位置の座標をフィールドに記録します。
ライブラリの準備
使用するのは、『HCL Nomad で GPS 座標の取得』で作成した現在位置を取得する関数 GetGPSPos_Cur 関数です。この記事では、スクリプトライブラリ lsGPS にまとめていましたので、この DB にコピペするなどして作成します。
フィールドの作成
続いて、モバイル用フォーム『m.支出』を開き、座標を表示するフィールド を作成します。
フィールド名 | 種類 | 値 | |
Sch_Latitude | 数値 | 作成時の計算結果 | "" |
Sch_Longitude |
現在位置の取得
まずは、先ほど作成したスクリプトライブラリをフォームに組み込みます。(Globals) の (Options) でライブラリの使用を宣言します。
続いて、フォームを開いたときに、現在位置を自動で取得させます。フォームの PostOpen イベントでライブラリの関数をコールして現在位置を取得、その座標をフィールドにセットします。
記述するコードは下記の通りです。新規作成時のみ取得するよう、編集モードで、座標が空の場合のみ実行するようにしています。
Sub Postopen(Source As Notesuidocument) Dim nd As NotesDocument Dim dLat As Double Dim dLng As Double Set nd = Source.Document If Source.EditMode = True Then If nd.Sch_Latitude(0) = "" Then If GetGPSPos_Cur(dLat, dLng) Then nd.Sch_Latitude = dLat nd.Sch_Longitude = dLng End If End If End If End Sub |
ここまでできあがったら、Nomad でプリビューして現在位置が取得できているのか確認しましょう。
前回 | 作ってみよう | 次回 |
0 件のコメント:
コメントを投稿