警告
kintoneセキュアコーディング ガイドライン
に抵触する内容が含まれています。
認証情報が漏洩した場合の影響を考慮して慎重に検討してください。
該当箇所は、JavaScriptプログラムの13行目です。
概要
アプリのレコード一覧表示時、顧客の住所をもとに地図上でピンを表示します。
詳細画面での地図表示も行います。
サンプルでは、Google Maps PlatformのMaps JavaScript APIを使用しています。
ご利用方法によっては有償ライセンスの購入が必要になります。
Googleのライセンスを確認してください。
完成形
下準備
-
kintoneアプリ
kintoneアプリストアにある「 顧客リスト
」を使います。
アプリに以下のフィールドを追加してください。フィールドの種類 フィールド名 フィールドコード 文字列 (1行) 緯度 lat 文字列 (1行) 経度 lng スペース ー Map -
エディター
-
Maps JavaScript APIキー
Google Maps Platform:APIキーを使用するにしたがって取得してください。
サンプルプログラム
プログラム
後述のサンプルプログラムについて、以下2点の変更をしてください。
-
13行目のYour Google API keyの部分を取得したMaps JavaScript APIキーに書き換えてください。
-
209行目の「// Google Maps JavaScript APIの読み込み」の部分を、次のコードに書き換えてください。
このコードでMaps JavaScript APIを読み込みます。
詳細は次のURLを参照してください。
ライブラリ | Maps JavaScript API | Google for Developers1 2(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))}) ({key: apiKey , v: "beta"});
以下にサンプルプログラムを示します。
|
|
- エディターにサンプルプログラムをコピーし、ファイル名を
sample.js、文字コードをUTF-8にして保存します。
ファイル名は任意です。 - 準備したアプリの設定画面で、保存したファイルを読み込みます。
- アプリの設定を完了します。
レコードの詳細画面を開いたとき、住所をもとに緯度、経度を算出してフィールドが更新されます。
レコードの一覧画面を開いたとき、リスト内に緯度、経度の含まれるレコードがある場合、自動的に地図が表示されます。
使用したAPI
- イベントハンドラーを登録する
- レコード追加画面で保存するときのイベント
- レコード編集画面で保存するときのイベント
- レコード一覧画面のインライン編集で保存するときのイベント
- レコード詳細画面を表示した後のイベント
- レコード一覧画面を表示した後のイベント
- レコード一覧画面のインライン編集を開始したときのイベント
- スペースフィールドの要素を取得する
- レコード一覧のメニューの下側の要素を取得する
- アプリのIDを取得する
- レコードIDを取得する
- kintone REST APIリクエストを送信する
変更履歴
- 2018/07/18
- Maps JavaScript APIキーを使用したコードに修正
- 2024/08/06
- google.maps.Markerサポート終了に伴い、google.maps.marker.AdvancedMarkerElementに変更
このTipsは、2025年10月版kintoneで動作を確認しています。
