
WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたいのですが、
以下のコードを独自タグ作成し、コンタクトフォーム7にて利用出来るようにすることは出来ませんでしょうか?
<body>
<button type="button" id="get-gps">位置情報取得</button>
<p id="lat">緯度: </p>
<p id="lon">経度: </p>
<p id="address"></p>
</body>
<script>
/** 変換表を入れる場所 */
var GSI = {};
const latEle = document.querySelector('#lat');
const lonEle = document.querySelector('#lon');
const addressEle = document.querySelector('#address');
const gpsButton = document.querySelector('#get-gps');
/**
* 緯度経度を画面表示
*/
const setGeoLoc = (coords) => {
latEle.textContent = `緯度: ${coords.latitude}`;
lonEle.textContent = `経度: ${coords.longitude}`;
}
/**
* 緯度経度から住所を取得して表示
*/
const getAddress = async (coords) => {
// 逆ジオコーディング API
const url = new URL('https://mreversegeocoder.gsi.go.jp/reverse-geoco …
url.searchParams.set('lat', coords.latitude);
url.searchParams.set('lon', coords.longitude);
const res = await fetch(url.toString());
const json = await res.json();
const data = json.results;
// 変換表から都道府県などを取得
const muniData = GSI.MUNI_ARRAY[json.results.muniCd];
// 都道府県コード,都道府県名,市区町村コード,市区町村名 に分割
const [prefCode, pref, muniCode, city] = muniData.split(',');
// 画面に反映
address.textContent = `${pref} ${city} ${data.lv01Nm}`;
};
/**
* 位置情報 API の実行(イベントリスナ)
*/
gpsButton.addEventListener('click', () => {
navigator.geolocation.getCurrentPosition(
geoLoc => {
setGeoLoc(geoLoc.coords);
getAddress(geoLoc.coords);
},
err => console.error({err}),
);
});
</script>
<script src="https://maps.gsi.go.jp/js/muni.js"></script> <!-- 変換表の読込 -->
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
重複しないくじの作り方がわか...
-
javascriptの質問です
-
配列の大括弧と丸括弧はどう違う?
-
ActiveXobjectが作成できない
-
問題はbind の付いたリスナーを...
-
javascript の 命令文の記述で...
-
JavaScriptでテーブル内?に矢...
-
Javascriptのhtml出力についてa...
-
JavaScriptの即時関数の書き方
-
JavaScriptとHTMLの課題です
-
定積分の近似値を計算する関数c...
-
JavaScriptで乱数+乱数の計算結...
-
bxsliderでpagerCustomのクラス...
-
台形公式
-
javascriptにお詳しい方に質問...
-
javaScriptのコードの修正をお...
-
Google Apps Script - 変数・ス...
-
JSON.parse取得結果を必ずJavaS...
-
javascriptの引数と戻り値につ...
-
colorbox (オーバレイでの向き...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ActiveXobjectが作成できない
-
<a>タグのテキストを取得
-
onchangeイベントを使ってspan...
-
innerHTML実行後のイベント
-
appendChildがieだとできない??
-
RadioButtonListの表示制御
-
onclickとonkeypressの重複
-
【Tabキー】特定の範囲内だけで...
-
javascript 特定のタグのidの存...
-
javascriptで編集可能不可能の...
-
画像上のクリックした場所が分...
-
配列の大括弧と丸括弧はどう違う?
-
IE8でdivのcontenteditable=tru...
-
問題はbind の付いたリスナーを...
-
日本語入力の禁止
-
WordPressのコンタクトフォーム...
-
div要素内の全input要素をdisable
-
画像の一部を表示
-
「nullまたはオブジェクトでは...
-
javascriptでスロットゲームを...
おすすめ情報
ご教諭頂くことはできませんでしょうか?