teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

テストコードを追加

2018/12/11 10:11

投稿

k.t.est
k.t.est

スコア49

title CHANGED
File without changes
body CHANGED
@@ -31,4 +31,51 @@
31
31
  });
32
32
  ```
33
33
 
34
- どなたか詳しくご教示頂ければ幸甚で御座います。
34
+ どなたか詳しくご教示頂ければ幸甚で御座います。
35
+
36
+ ###テストコード
37
+ ```javascript
38
+ function calcRoute(startLatLng,targetLatLng){
39
+ var request = {
40
+ origin: new google.maps.LatLng(startLatLng[0], startLatLng[1]), // スタート地点
41
+ destination: new google.maps.LatLng(targetLatLng[0], targetLatLng[1]), // ゴール地点
42
+ travelMode: google.maps.DirectionsTravelMode.WALKING // 移動手段
43
+ };
44
+
45
+ directionsService.route(request, function (response, status) {
46
+ if(directionsDisplay){
47
+ directionsDisplay.setMap(null);
48
+ directionsDisplay.setPanel(null);
49
+ }
50
+
51
+ if (status === google.maps.DirectionsStatus.OK) {
52
+ var rendererOptions = {
53
+ map: map, // 描画先の地図
54
+ draggable: true, // ドラッグ可
55
+ //preserveViewport: true // centerの座標、ズームレベルで表示
56
+ suppressMarkers: true // デフォルトのマーカーを削除
57
+ };
58
+ directionsDisplay = new google.maps.DirectionsRenderer( rendererOptions );
59
+ directionsDisplay.setDirections( response );
60
+ directionsDisplay.setMap(map);
61
+
62
+ /*ルートの詳細表示*/
63
+ directionsDisplay.setPanel(document.getElementById("directions_panel"));
64
+
65
+ /* 出発地点・到着地点マーカーが移動された時 */
66
+ google.maps.event.addListener(directionsDisplay, 'directions_changed',function() {
67
+ currentDirections=directionsDisplay.getDirections();
68
+ var route=currentDirections.routes[0];
69
+ var s="";
70
+ for(var i=0; i<route.legs.length; i++) {
71
+ var routeSegment=i+1;
72
+ s+=route.legs[i].start_address+'to';
73
+ s+=route.legs[i].end_address+'\n';
74
+ s+=route.legs[i].distance.text;
75
+ }
76
+ dbg("directions_changed:"+s);
77
+ });
78
+ }
79
+ });
80
+ }
81
+ ```