GoogleマップAPIを使ってユーザーがランニングしたルートを
データベースに保存をしたいのですがどの様にすればルート保存ができるでしょうか?
スタート地点とゴール地点は同じ場所で、ユーザーにルートを作ってもらい
そのルートの座標を取得すれば良いと思うのですが、ルート経路の座標の取得の仕方がわかりません。
座標の取得自体は
var hoge = ○○○.getPosition(); var latitude = hoge.lat(); // 経度 latitude var longitude = hoge.lng(); // 緯度 longitude
とすれば良いと思うのですが、○○○の部分に何を入れればいいのかわかりません。
以下がGoogleマップAPIを使ったURLなのですが、実際に青い線をドラッグしてディズニーランドを一周したルートを保存した場合どのようにして保存すればよいでしょうか。
ルートドラッグした場所に白い点ができるので、そこの座標を取得すればよいのかと思ったのですが
違いますでしょうか。
よろしくお願いします。
↓html↓
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> <div id="gmap"></div> <div id="result"></div>
↓css↓
#gmap { width : 1000px; height: 800px; }
↓js↓
var directionsService = new google.maps.DirectionsService(); var directionsDisplay = new google.maps.DirectionsRenderer({ draggable: true }); var map = new google.maps.Map( document.getElementById("gmap"), { zoom:15, center: new google.maps.LatLng(35.637940, 139.878516), mapTypeId: google.maps.MapTypeId.ROADMAP } ); google.maps.event.addListener(directionsDisplay, "directions_changed", function() { calcRoute(directionsDisplay.directions); }); directionsDisplay.setMap(map); directionsService.route({ origin: "35.637940, 139.878516", destination: "35.638549, 139.876770", travelMode: google.maps.DirectionsTravelMode.WALKING }, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(response); calcRoute(response); console.log(response); } else { alert("ルート検索に失敗しました"); } }); function calcRoute(response) { var m = 0; for (var i = 0; i < response.routes[0].legs.length; i++) { m += response.routes[0].legs[i].distance.value; // 距離(m) } document.getElementById("result").innerHTML = m + "メートル"; }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/22 08:32
2016/04/22 08:39
2016/04/22 09:16
2016/04/22 09:24
2016/04/22 12:01