Javascriptで、オブジェクトを扱っています。
以下のようにして取り出そうとおもっても
undefinedになってしまいます。
javascript
1var routeInfo = {}; 2routeInfo.distance = "hoge"; 3routeInfo.duration_in_traffic = "huga"; 4 5console.log(routeInfo.distance);
ちなみに、console.log(routeInfo)だけで出力した場合は
以下のようになります。
Object {}
distance
:
"hoge"
duration_in_traffic
:
"huga"
proto
:
Object
ご教示いただければ幸いです。
よろしくお願いいたします。
▼追記
以、実際のコードです。
以下のようにして定義した関数を実行した時、returnでrouteInfoが返ってきます。
routeInfoはオブジェクトで、routeInfo.distとrouteInfo.dist_in_traffic で値が取り出せるはずです。
javascript
1// ============= 2// ▼ 所要時間 3// ============= 4function getTimes(distanceMatrixService,latlng,GPS){ 5 var routeInfo = {}; 6 var origins = [ 7 new google.maps.LatLng(GPS), 8 ]; 9 var destinations = [ 10 latlng, 11 ]; 12 distanceMatrixService.getDistanceMatrix({ 13 origins: origins, // 出発地点 14 destinations: destinations, // 到着地点 15 travelMode: google.maps.TravelMode.DRIVING, // 車モード or 徒歩モード 16 drivingOptions: { // 車モードの時のみ有効 17 departureTime: new Date(Date.now() + 3600000), // 2017年5月5日 18 trafficModel: google.maps.TrafficModel.BEST_GUESS // 最適な検索 19 } 20 }, function(response, status) { 21 routeInfo.dist = response.rows[0].elements[0].distance.text; 22 if(response.rows[0].elements[0].duration_in_traffic.text){ 23 routeInfo.dist_in_traffic = response.rows[0].elements[0].duration_in_traffic.text; 24 } 25 }); 26 return routeInfo; 27} 28// ============= 29// ▲ 所要時間 30// =============
回答4件
あなたの回答
tips
プレビュー