• 締切済み

GooglemapAPIで現在地をMysqlへ登録

こちらでよろしかったがどうか分かりませんが、外しておりましたらすみません。 GoogleMaps API v3で、watchPositionを使い、iPhoneで現在地を取得する スクリプトを試しています。 一定間隔で現在地を測位し、iphone上に緯度経度は表示されていますので、 これをMySQLデータベースに登録していき、ロガーのような事をしたいと思っています。 DBへ登録するPHPスクリプトは作成済みで、例えば 『sample.php?lat=00.0000&lng=000.00000』と アクセスするとDBへは登録されますが、Javascriptからこちらへのデータをどう渡して良いのかが 分かりません。 どなたかお詳しい方、ご教授宜しくお願い致します。

みんなの回答

回答No.1

ふぉーむをつくって、method="get" でそうしんするとか? function send (arg) { var req = new XMLHttpRequest; req.open ('GET', arg, false); req.send (''); } send ('sample.php?lat=00.0000&lng=000.00000'); //encodeURIComponent がひつようだっけか?

blackbelt2004
質問者

お礼

ありがとうございます。 お返事遅れて申し訳ありません。 どうもAJAXを使わないと難しそうです。 もっと勉強して実現に向けて頑張ってみます。

関連するQ&A

  • inputのvalueを変数として使うには

    下記ソースのaタグ内map.phpのパラメータ({緯度}・{経度}の部分)にinputで入力した値を渡したいので すが、どうすれば良いでしょうか? <form action="index.php" method="POST" enctype="multipart/form-data" name="data"> 緯度:<input name="lat" type="text" value="" size="20"> 経度:<input name="lng" type="text" value="" size="20"> <a href="map.php?lat={緯度}&lng={経度}">マップを表示</a> </form>

  • 「 '&lng='」の&の意味が分かりません。

    下記はgooglemapで中心点(lat:緯度 lng:経度)からのある半径(radius)以内のマーカーを求めるプログラムの一部ですが「 '&lng='  '&radius='」に出てくる「&」の意味・機能がわかりません。 どなたかお分かりになれば教えていただきたく。 var radius = document.getElementById('radiusSelect').value; var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;

  • GoogleMapAPI - デフォルト表示したマーカーから緯度経度を取得できない

    最近googleMapを利用しデータベースと連携して コミュニケーションツールを作れないかとあれこれ 本やネットで調べた知識でがんばっているのですが、 行き詰まってしまったのでどなたかお知恵をお貸し下さい。 ◇前提 ・googleMapのページアクセス時に  DBに登録済みのマーカー情報(緯度・経度・場所名称)を基に  複数のマーカーを表示する  ※DBとのデータ中継はPHPを使用。ここでは省略。 ◇問題点 ・表示された複数のマーカーのうちどれかをクリックしたとき  そのマーカーに付随するデータをフォーム上に表示したいが、  DBへの問い合わせに必要なクリックしたマーカーの緯度経度が  取得できない。 以下抜粋 ------------------------------------------------- // 登録済みマーカーをデフォルト表示 GDownloadUrl("load.php", function(doc, stat){ var load = doc.parseJSON(); for(var i=0; i<load.data.length; i++){ var point = new GLatLng(load.data[i].lat, load.data[i].lng); var marker = new GMarker(point); map.addOverlay(marker); // クリックしたマーカーに該当する情報を表示 GEvent.addListener(marker, "click", function(){ //*** ここで緯度経度を取得 **** } } }); ------------------------------------------------- http://oshiete1.goo.ne.jp/qa2559818.html 上記ページの質問に対する回答の方法も試しましたが、 エラーが出てしまい解決できませんでした。 プログラム素人な上、不慣れな分野にて行き詰まってます。 どうかお助け下さい。

  • GoogleMapsから緯度経度をPHPに渡したい

    GoogleMapsAPIを利用して、自サイトにマーキング可能な地図を表示させたいと思っています。 具体的には・・・ 目的の位置を表示させて「登録」ボタンを押すと、moveendで取得した緯度経度のデータをフォーム(PHP)に渡し、そのフォームからコメントを添えてDBに格納する。 といった具合です。 GoogleMapsAPIはJavaScriptでの記述なので、JavaScriptで取得した緯度経度データをどのようにPHPフォームに渡せばいいのかがわかりません。 当方、PHPは若干わかりますが、JavaScriptについては全くわかりません。 以下のソースで緯度経度を取得するところまではできたのですが・・・。 GEvent.addListener(map, 'moveend', function() { var cnt = map.getCenter(); document.getElementById("cnt_x").innerHTML = cnt.lng(); document.getElementById("cnt_y").innerHTML = cnt.lat(); }); }); これから、どのようにすればPHPのフォームに渡せるのでしょうか? よろしくお願いします。

  • ラジオボタンとテキストボックスの連動

    現在googleマップで経度、緯度の取得ができました。 そこで、こちらのサイト(http://www.geocities.jp/standing_art/hoheto/idokeido_old.html)のようにラジオボタン選択時のテキストボックスにのみ経度、緯度の取得を行いたいのですがどうすればいいでしょうか? 今あるソースはこれです。 <!DOCTYPE html> <html> <head> <script src="http://maps.google.com/maps/api/js?v=3&sensor=false" type="text/javascript" charset="UTF-8"></script> <script type="text/javascript"> //<![CDATA[ var map; function init() { var latlng = new google.maps.LatLng(39, 138); var opts = { zoom: 6, mapTypeId: google.maps.MapTypeId.ROADMAP, center: latlng }; map = new google.maps.Map(document.getElementById("map"), opts); google.maps.event.addListener(map, 'click', mylistener); } function mylistener(event) { document.getElementById("show_lng").innerHTML = event.latLng.lng(); document.getElementById("show_lat").innerHTML = event.latLng.lat(); } //]]> </script> </head> <body onload="init()"> <div id="map" style="height:560px"></div> 緯度 : <div id="show_lng"></div> 経度 : <div id="show_lat"></div> </body> </html>

  • PHPで最も近い緯度経度をDBデータから抽出する方法について

    PHPで最も近い緯度経度をDBデータから抽出する方法について 現在携帯電話のGPS機能を使って、 お店の位置情報リストを使って現在地から最も近い場所を検索する機能を PHPで作ろうと考えています。 そこで携帯電話から取得出来る位置情報をWGS84系に変換するまでは出来たのですが、 お店の位置情報リスト(こちらもWGS84系データで、SQLでDBに保存)から どのような方法で検索すればよいのか困っています。 そもそもWGS84系のデータ仕様自体を詳しくわかっていないのですが、 PHPである場所の緯度経度から、DBにある緯度経度データから最も距離の近い緯度経度を検索・抽出するにはどうしたらよいでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 距離から緯度経度を求める方法

    このジャンルでお願いします。 始点(lat1, lng1)と始点から 北向きが0度として角度は分かっています。 そこから例えば角度60度、1.5mの距離の緯度経度(終点)が知りたいのですが、 どのようなプログラムになるのでしょうか?

    • ベストアンサー
    • PHP
  • Googlemapで始点~次のステップ間の距離を

    私は現在、GoogleMapで現在地から指定した目的地までのルートを表示させたあとに、 始点(Start_location)から次のステップ(曲がり角)の緯度経度を次々と表示させていき、 最終的に 1、現在地の緯度経度 2、曲がり角(1)の緯度経度 3、曲がり角(2)の緯度経度 4、曲がり角(3)~ というようにを表示させたいのですが、 緯度経度(X,Y)を表示させると function (){return this[a]}  で文字が表示されます。 緯度経度を表示させるためにはどういった書き方なのかを教えてください。 計算を行っているソースは以下です。 //◆総距離合計 function computeTotalDistance(result) { var total = 0; var myroute = result.routes[0];     for (i = 0; i < myroute.legs.length; i++)     {     total += myroute.legs[i].distance.value;     }     total = total / 1000. var disp_total = document.getElementById("disp_total");     disp_total.innerHTML = "total:" + total + " km"; document.getElementById("X1").innerHTML = myroute.legs[0].start_location.lat;     document.getElementById("Y1").innerHTML = myroute.legs[0].start_location.lng;     document.getElementById("X2").innerHTML = myroute.legs[1].start_location.lat;     document.getElementById("Y2").innerHTML = myroute.legs[1].start_location.lng; }

  • JavaScriptが実装できない

    初めまして。 Google Maps APIを使ってwebページ上でgoogle mapsを表示させようと思い htmlファイルとjavascriptファイルを実装したのですがうまく動きません。 ソースコードは以下の通りです。 googlemaps.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> html, body { height: 100%; } </style> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"> </script> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("jquery", "1.5.0"); </script> <script type="text/javascript" src="googlemaps.js"></script> <title>指定した位置を中心とする地図</title> </head> <body> <p> 緯度<input id="lat" type="text" value="35.632997" /> 経度<input id="lng" type="text" value="139.648609" /> <button id="button">地図を作る</button> </p> <div id="map_canvas" style="width: 100%; height: 90%;"></div> </body> </html> googlemaps.js $(document).ready(function() { $("#button").click(function() { // input要素の値を取得し、マップの中心を決める var lat = $("#lat").val(); var lng = $("#lng").val(); var myCenter = new google.maps.LatLng(lat, lng); // 地図のオプション var myOptions = { zoom : 14, center : myCenter, mapTypeId : google.maps.MapTypeId.ROADMAP // 必須 }; // 地図の生成 var myMap = new google.maps.Map(document.getElementById("map_canvas"), myOptions); // マーカーの生成 new google.maps.Marker( { position : myCenter, map : myMap, title : "Hello World!" }); }); }); firebugはgooglemaps.js 404 not foundといっているのでhtmlとjavascriptの連携が うまくいってないのだと思うのですが、どうすればいいのかわからず前にすすめません。 お詳しい方、ご教授ください。

  • sprintf関数での%Sが分かりません。

    質問の背景は下記でのsprintf関数での%Sについてです。 https://developers.google.com/maps/articles/phpsqlsearch_v3?hl=ja#createmap 上記での流れは、添付画像のように、 ・住所を入力することで 緯度経度が算出され、(center.lat() center.lng()) ・また、半径('radiusSelect)が選択(この場合は20Km)されることで、 ・選択住所(center.lat() center.lng())から選択半径内の登録店舗がgooglemapに表示される。 というものです。 (1)<「phpsqlsearch_genxml.php」に選択値を渡す。>(62行目) var radius = document.getElementById('radiusSelect').value; var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius; (※ 例えばcenter.lat()を緯度37 center.lng()を経度-122とします) (2)<「phpsqlsearch_genxml.php」において、該当する店舗を見つけ出す。> // Get parameters from URL $center_lat = $_GET["lat"]; $center_lng = $_GET["lng"]; $radius = $_GET["radius"];    ・・・・・・ // Search the rows in the markers table $query = sprintf("SELECT address, name, lat, lng, ( 6371 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' ORDER BY distance LIMIT 0 , 200", mysql_real_escape_string($center_lat), mysql_real_escape_string($center_lng), mysql_real_escape_string($center_lat), mysql_real_escape_string($radius)); $result = mysql_query($query); (※ ( 6371 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat )は中心地からの半径を求める公式) 上記(2)で書式指定(string)の%Sが使用されていますが、そこには下記数値文字が入ります。 SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 20 同じ%Sに対してそれぞれ、37・-122・20の異なった数値文字が対応される仕組みが分かりません。 ご教示お願いいたします。

専門家に質問してみよう