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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2315閲覧

【jQuery】各地点から各地点まで車で何分かかるか(移動時間の予測)の結果だけを抽出したい

miyoshi_work

総合スコア69

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/02/13 02:29

いつもお世話になっております。

###前提・実現したいこと
表題の通り、各地点から各地点まで車で何分かかるか(移動時間の予測)の結果だけを抽出したいと思い、下記コードにて実装を行いました。

実装結果が下記のスクショのようになります。

イメージ説明

やりたいこととしては、
下記コードで実装した際に、赤文字になっている「約9分」の部分のみを取得したいです。

###発生している問題・エラーメッセージ

javascript

1($('.adp-summary span:nth-child(3)')).text();

上記で約9分の文字だけ取得できると思ったのですが、
コンソールを叩くと空白になってしまいました。

ここがコンソールを叩いたり変数に入れた際に「約9分」と表示されるようにしたいです。

###該当のソースコード

javascript

1//googlemap 生成用 2function sample1() { 3 //ルート検索結果を表示するオブジェクト 4 var directionsRenderer = new google.maps.DirectionsRenderer; 5 //ルートを検索するオブジェクト 6 var directionsService = new google.maps.DirectionsService; 7 //位置座標のインスタンスを作成する 8 var latlng = new google.maps.LatLng(); 9 var opts = { 10 //地図の縮尺 11 zoom: 15, 12 //地図の中心座標 13 center: latlng, 14 //地図の種類 15 mapTypeId: google.maps.MapTypeId.ROADMAP, 16 }; 17 //マップの表示 18 var map = new google.maps.Map(document.getElementById("map_canvas1"), opts); 19 //ルートのテキスト表示設定 20 directionsRenderer.setPanel(document.getElementById('panel')); 21 //ルートのマップ(ウェイポイントの線及びピン)を表示 22 directionsRenderer.setMap(map); 23 /* ルートを予測 */ 24 var start = "小倉駅"; 25 var end = "西小倉駅"; 26 var request = { 27 //出発地点 28 origin: start, 29 //到着地点 30 destination: end, 31 //トラベルモード 32 travelMode: google.maps.TravelMode.DRIVING, 33 //オプションの設定 34 drivingOptions: { 35 departureTime: new Date(), 36 trafficModel: google.maps.TrafficModel.BEST_GUESS 37 }, 38 }; 39 directionsService.route(request, function(response, status) { 40 if (status == google.maps.DirectionsStatus.OK) { 41 //ルートの表示 42 directionsRenderer.setDirections(response); 43 } 44 }); 45} 46window.onload = sample1;

html

1<head> 2<style> 3.adp-summary span:nth-child(3){ 4 color:red; 5} 6</style> 7</head> 8 9<body> 10 11<div class="hoge"> 12 <span>11分</span> 13</div> 14 15<div id="panel" style="float:left; width:300px"></div> 16<div id="map_canvas1" style="width:300px; height:300px"><div> 17</body>

javascript

1//「約9分」を取り出そうと試したコード 2<script> 3$(function(){ 4 $("span:contains('分')").css("text-decoration", "underline"); 5 var n2 = ($('.adp-summary span:nth-child(3)')).html(); 6 console.log(n2); 7}); 8 9</script>

###試したこと

css

1.adp-summary span:nth-child(3){ 2 color:red; 3}

が効いていることの確認、

javascript

1$("span:contains('分')").css("text-decoration", "underline");

で分が含まれるspanにアンダーラインを引いてみたりと色々試したのですが
テストで打った

<div class="hoge"> <span>11分</span> </div> には線がついたものの、肝心の取りたい「9分」の部分は線がつきませんでした。。

googlemap 生成用のjsは、
http://www.vintage.ne.jp/blog/2016/01/780
などを参考にいたしました。

googlemapを使用していれば実装方法にこだわりがなく、
とにかくgooglemapの移動時間の予測結果だけを抽出したいです。

自分ではなぜ空白になるのかわかりませんでした。

ご教授頂けますと幸いです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

directionsRenderer.setDirections(response);responseconsole.log(); で出力してみてください。生データとして取得できると思います。( arrival_time が予測時間)

【Google Maps JavaScript API V3 Reference  |  Google Maps JavaScript API  |  Google Developers】
https://developers.google.com/maps/documentation/javascript/reference#DirectionsLeg

【Directions Service  |  Google Maps JavaScript API  |  Google Developers】
https://developers.google.com/maps/documentation/javascript/directions?hl=ja#Legs

投稿2017/02/13 02:46

kei344

総合スコア69407

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

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

miyoshi_work

2017/02/13 04:12

ご回答ありがとうございます! 下記で試してみたのですが、 ``` directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { //ルートの表示 directionsRenderer.setDirections(response); var obj = directionsRenderer.setDirections(response); console.log(response); console.log(obj); } }); ``` console.log(response); ではコンソールでオブジェクトが表示されたのですが予測時間が見つかりませんでした。。。 出力方法はこちらであっていますでしょうか? また、書き方を変えて ``` var obj = directionsRenderer.setDirections(response); console.log(obj); ``` としてみたのですがundefinedとなってしまいました… やり方に問題があると思うのですが何故でしょうか? 質問ばかりで恐縮ですが何卒宜しくお願いします。。。
kei344

2017/02/13 04:37

> オブジェクトが表示されたのですが オブジェクトは中身を確認できるはずなので、クリックして中身を見てください。
miyoshi_work

2017/02/13 04:58

ありがとうございました、自分の確認不足でした… 大変助かりました、ありがとうございます!
guest

0

console.log(response["routes"][0]["legs"]);

辺りに9分がありました 約9分ではなく9分でしたが

投稿2017/02/13 04:39

date

総合スコア1820

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

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

miyoshi_work

2017/02/13 04:58

ありがとうございます、ちょうど自分も見つけれたところでした 助かりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問