人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

googlemaps v3 について
下記のようにしたときに
距離がアラートで表示されるようにする方法を教えて下さい。

下記のままだと「undefined」になります。
ちなみに取得直後の位置では正常に値が表示されます。

directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
dist = result.routes[0].legs[0].distance.value;
}
});
alert(dist);

よろしくお願いします。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:Distance Google Routes V3 アラート
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント ベストアンサー
directionsService.route(request, function(result, status) {
 if (status == google.maps.DirectionsStatus.OK) {
 dist = result.routes[0].legs[0].distance.value;
 alert(dist);
 }
 });

では、どうだろう?


-- 追記 --

alert(dist); の位置は

directionsService.route(request, function(result, status) {});

の外側にしたいのです。

それは無理だよ。

ソースの行では、route メソッドの callback が先に書かれているけど、

実際には alert() の行が実行されるのは、callback が呼ばれる前だから。


どうして、外側にしたいの?

◎質問者からの返答

ありがとうございます。

alert(dist); の位置は

directionsService.route(request, function(result, status) {});

の外側にしたいのです。

教えて頂いた場所ですと表示されるのはわかっております。

> ちなみに取得直後の位置では正常に値が表示されます。

> 無理

ありがとうございます。

やはりダメなのですか.....残念です。

>どうして外側にしたいのか

この次の処理に取得した値を使いたいのです。

質問でalert()にしているのは

alert()で思い通りに行けば、別の処理でも使えるだろうと思ったからです。

そしてこれはループの中であって

複数回それを繰り返そうとしています。


無理と言うことで諦めます。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ