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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

JavaScript

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

Q&A

解決済

1回答

3016閲覧

【JavaScript,PHP】指定座標の取得、蓄積、取り出し

miii

総合スコア9

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

JavaScript

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

0グッド

2クリップ

投稿2018/07/26 03:31

【実現したいこと】
1.JavaScriptによって、クリックされた座標を取得
2.取得された値をPHPに引き渡す
3.PHPよりデータベースに蓄積
4.蓄積されたデータを再度JavaScriptにて引き出し、マーカーとして画面に表示

【現在のプログラム状況】
まだ1番しか終わっていません。
PHPとJavaScriptの関連についてたくさんのページを見たんですが、
どうしても理解できなくて....
初心者にわかるようにご指導頂けないでしょうか。よろしくお願いします...

JavaScript

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="Shift_JIS"> 5 <link rel="stylesheet" href="Map.css"> 6 <title>クリック座標の指定</title> 7 <script type="text/javascript" src="http://maps.google.com/maps/api/js?key=AIzaSyDd9K3oTii5cmpX5DIaqWUOrbOkgyLjKK8&callback=init"></script> 8 9 <script> 10 var map; 11 12 function init() { 13 /*マップの描画*/ 14 var mapOptions = { 15 zoom : 15, 16 center : new google.maps.LatLng(35.41, 139.45) /*東京都の表示*/ 17 }; 18 /*マップオブジェクトの作成*/ 19 map = new google.maps.Map( 20 document.getElementById("mymap"), /*マップ表示要素*/ 21 mapOptions /*マップのオプション*/ 22 ); 23 24 /*Geolocation APIに対応している*/ 25 if (navigator.geolocation) { 26 /*現在地を取得*/ 27 navigator.geolocation.getCurrentPosition( 28 /*取得成功した場合*/ 29 function(position) { 30 31 /*緯度・経度を変数に格納*/ 32 var mapLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 33 mapOptions = { 34 zoom : 15, 35 center : mapLatLng 36 }; 37 38 /*現在地への移動*/ 39 map.setCenter(mapLatLng); 40 41 /*マーカーの表示*/ 42 marker = new google.maps.Marker({ 43 map : map, /*対象の地図オブジェクト*/ 44 position : mapLatLng /*緯度・経度*/ 45 }); 46 }, 47 /*取得失敗した場合*/ 48 function(error) { 49 /*エラーメッセージの表示*/ 50 switch(error.code) { 51 case 1: /*PERMISSION_DENIED*/ 52 alert("位置情報の利用が許可されていません"); 53 break; 54 case 2: /*POSITION_UNAVAILABLE*/ 55 alert("現在位置が取得できませんでした"); 56 break; 57 case 3: /*TIMEOUT*/ 58 alert("タイムアウトになりました"); 59 break; 60 default: 61 alert("その他のエラー(エラーコード:"+error.code+")"); 62 break; 63 } 64 }); 65 /*Geolocation APIに対応していない*/ 66 } 67 else{ 68 alert("この端末では位置情報が取得できません"); 69 } 70 /*クリックイベント*/ 71 google.maps.event.addListener(map,"click",map_click); 72 } 73 74 function map_click(e){ 75 /*クリック時の座標取得*/ 76 var geo=new google.maps.Geocoder(); /*Geocoderオブジェクトの作成*/ 77 cp=e.latLng; /*クリック位置の緯度・経度情報を調べる*/ 78 var ltlg={latLng: cp}; /*クリック位置の緯度・経度情報を作成*/ 79 coods.innerHTML= "(緯度,経度) = " + cp; /*クリックした場所の緯度・経度を表示*/ 80 geo.geocode(ltlg,getResult) /*クリック位置の緯度・経度情報を検索*/ 81 82 } 83 84 function getResult(res,status){ 85 if(status==google.maps.GeocoderStatus.OK){ 86 /*取得した場合*/ 87 if(res[0]!=null){ 88 map.setCenter(cp); 89 var mp={ 90 position: cp, 91 map: map 92 }; 93 var mk=new google.maps.Marker(mp); /*クリック位置にマーカー作成*/ 94 var ad=document.getElementById("address"); 95 ad.innerHTML=res[0].formatted_address; 96 97 98 } 99 /*取得できなかった場合*/ 100 else{ 101 window.alert("利用できませんでした。"); 102 } 103 } 104 } 105 </script> 106</head> 107<body onload="init()"> 108 <div id="mymap"></div> 109 <form name="myform"> 110 111 <h3 id="address"></h3> 112 <h3 id="coods"></h3> 113 </form> 114</body> 115</html> 116

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

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

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

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

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

kei344

2018/07/26 04:14

「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを、出ているエラーなどと併せて、具体的に記述されたほうが回答を得られやすいと思います。
yoorwm

2018/07/26 05:12

うまく実現したい事を分けられているので、一つ一つ質問しながら実現していくのがいいのではないでしょうか?まずは、普通にHTMLのフォームを作って、任意の座標をPHPに渡す部分を作ってみておけば、そちらだけでデバッグも出来るかと思います。
guest

回答1

0

ベストアンサー

PHP部分はどう作られていますか?データはモックレベルでもまず作ってみてください。
2については要件次第ですが4も加味するとajaxを覚えると良いです。
(あとできればjson)

投稿2018/07/26 06:57

m.ts10806

総合スコア80850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問