質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

884閲覧

逆ジオコーディングで住所を取得しPHP側へ受け渡したい

ken100111

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2022/01/18 05:13

前提・実現したいこと

位置情報取得ボタンを押下後に、JavaScriptのgetCurrentPositionメソッドを使って緯度・経度を取得し逆ジオコーディングで住所に変換。
Ajaxを使ってPHP(サーバー)にデータを受け渡したい。

現状、位置情報取得ボタンを押下するとフォームに緯度、経度、住所の情報が表示されるが、PHP側へのデータ受け渡しは出来てない。コンソールを確認すると下記のエラーメッセージが表示される。

分かる方がいればご教示のほどよろしくお願いいたします。

該当のソースコード

HTML

1<div class="wrap page"> 2 <form action="" name="mainForm" method="post" style="float: left"> 3 4 <!-- ページ名(全ページ共通) --> 5 <div class="ttl clearfix inner" id="text-button"> 6 <!-- ページ名 --> 7 <button type="button" name="btnTest" id="get-gps">位置情報取得ボタン</button> 8 9 <textarea id="lat" name="lat"></textarea> 10 <textarea id="lon" name="lon"></textarea> 11 <textarea id="address" name="address"></textarea> 12 13 </div> 14 <!-- main --> 15 </form> 16</div><!-- .wrap end -->

JavaScript

1 var GSI = {}; 2 3 const latEle = document.querySelector('#lat'); // constの中身<textarea id="lat" name="lat"></textarea> 4 const lonEle = document.querySelector('#lon'); 5 const addressEle = document.querySelector('#address'); 6 const gpsButton = document.querySelector('#get-gps'); 7 8 const setGeoLoc = (coords) => { 9 latEle.textContent = `緯度: ${coords.latitude}`; 10 lonEle.textContent = `経度: ${coords.longitude}`; 11 } 12 13 /** 14 * 緯度経度から住所を取得して表示 15 */ 16 const getAddress = async (coords) => { 17 // 逆ジオコーディング API 18 const url = new URL('https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress'); 19 url.searchParams.set('lat', coords.latitude); 20 url.searchParams.set('lon', coords.longitude); 21 const res = await fetch(url.toString()); 22 const json = await res.json(); 23 const data = json.results; 24 25 // 変換表から都道府県などを取得 26 const muniData = GSI.MUNI_ARRAY[json.results.muniCd]; 27 // 都道府県コード,都道府県名,市区町村コード,市区町村名 に分割 28 const [prefCode, pref, muniCode, city] = muniData.split(','); 29 30 // 画面に反映 31 addressEle.textContent = `${pref} ${city} ${data.lv01Nm}`; 32 33}; 34 /** 35 * 位置情報 API の実行(イベントリスナ) 36 */ 37 gpsButton.addEventListener('click', () => { 38 navigator.geolocation.getCurrentPosition( 39 geoLoc => { 40 setGeoLoc(geoLoc.coords); 41 getAddress(geoLoc.coords); 42 }, 43 err => console.error({err}), 44 ); 45 }); 46 47 var btn = document.getElementById('get-gps'); 48 49 btn.addEventListener('click', function() { 50 51 $.ajax({ 52 type: "post", 53 url: "/routine/admin/attendance.php", 54 data: { 'データ': addressEle }, 55 }); 56 //submit()でフォームの内容を送信 57 document.mainForm.submit(); 58 })

エラーメッセージ1

jquery.min.js:5 Uncaught RangeError: Maximum call stack size exceeded at o (jquery.min.js:5:7810) at gn (jquery.min.js:5:8293) at gn (jquery.min.js:5:8316) at gn (jquery.min.js:5:8316) at gn (jquery.min.js:5:8316) at gn (jquery.min.js:5:8316) at gn (jquery.min.js:5:8316) at gn (jquery.min.js:5:8316) at gn (jquery.min.js:5:8316) at gn (jquery.min.js:5:8316)

エラーメッセージ2

(index):121 GET https://mreversegeocoder.gsi.go.jp/reverse-geocoder/LonLatToAddress?lat=35.6488574&lon=139.7422206 net::ERR_INTERNET_DISCONNECTED

エラーメッセージ3

(index):121 Unncaught (in promise) TypeError: Failed to fetch at getAddress ((index):121:23) at navigator.geolocation.getCurrentPosition.console.error.err.err ((index):141:11)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2022/01/18 10:36

利用規約とか改めて確認なさってはいかがでしょうか。短時間に大量のリクエストを送っていませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問