scriptで取得したgeolocationの緯度経度をPHPで取得したい
グルメサーチAPIを用いて位置情報を取得し、近くのお店を一覧表示するWebアプリケーションを制作したい。
そのために、前段階としてgeolocationで緯度経度を取得して、その緯度経度の値をPHPで受け取れるようにしたい
<現状>
・緯度経度の取得はできた
・$.ajaxで緯度経度をPHPに送信できているのかが不明
・$.ajaxで送信したデータの受け取り方で悩んでいる
(ファイル名:u.php)
エラーメッセージ
u.php:78 Uncaught SyntaxError: Unexpected token '<'
該当のソースコード
<?php $lat; $lng; function get(){ $lat = $_POST['data1']; $lng = $_POST['data2']; print $lat; print $lng; } ?> <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>ホットペッパーAPIテスト</title> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <link rel="stylesheet" herf="css/style.css"> <script src="jstest/jquery-3.6.0.min.js"></script> <script type="text/javascript"> var lat=0; var lng=0; // Geolocation APIに対応している if (navigator.geolocation) { alert("この端末では位置情報が取得できます"); // Geolocation APIに対応していない } else { alert("この端末では位置情報が取得できません"); } // 現在地取得処理 function getPosition() { // 現在地を取得 navigator.geolocation.getCurrentPosition( // 取得成功した場合 function(position) { lat = position.coords.latitude; lng = position.coords.longitude; alert("緯度:"+position.coords.latitude+",経度"+position.coords.longitude); $.ajax({ type: "POST", // GETでも可 url: "http://localhost/test/u.php", // 送り先 data: { 'data1' : lat, 'data2' : lng }, // 渡したいデータをオブジェクトで渡す success: function(data){ alert(data); } }) }, // 取得失敗した場合 function(error) { switch(error.code) { case 1: //PERMISSION_DENIED alert("位置情報の利用が許可されていません"); break; case 2: //POSITION_UNAVAILABLE alert("現在位置が取得できませんでした"); break; case 3: //TIMEOUT alert("タイムアウトになりました"); break; default: alert("その他のエラー(エラーコード:"+error.code+")"); break; } } ); } </script> </head> <body> <input type="button" value="getPositon" onclick="getPosition();"> <input type="button" value="get" onclick="<?php echo get(); ?>"> </form> </body> </html>
PHP、Javascriptはほぼ初心者ですので、プログラムも拙くて申し訳ありません。
回答1件
あなたの回答
tips
プレビュー