1

ユーザー座標の JavaScript に問題があります。すべての例で、地理位置情報からのリターン コールバックでアラート メッセージを出力しますが、他の値の出力または設定には緯度経度座標を使用したいと考えています。このコードの問題は何ですか? 誰でも親切に説明できますか: :)

<script type="text/javascript">
navigator.geolocation.getCurrentPosition(success);

function success(position) {
 var lat = position.coords.latitude;
 var long = position.coords.longitude;
}

document.write(lat);
</script>

これは phonegap のエラーコードです:

05-12 16:40:35.486: E/Web コンソール (15962): ReferenceError: 変数が見つかりません: lat at file:///android_asset/www/showMap/showMap.html:31

ありがとう

4

1 に答える 1

3

関数内でlatandを宣言したので、そこにスコープが設定されます。関数の外からそれらにアクセスすることはできません。longsuccesssuccess

コードを次のように変更できます。

navigator.geolocation.getCurrentPosition(success);

function success(position) {
 var lat = position.coords.latitude;
 var long = position.coords.longitude;
 // lat is accessible inside "success", we can write out the variable here:
 document.write(lat);
}

明確にするために、ここで作成してグローバル化したとしても役に立ちません。の実行が終了した後、非同期で実行されます。latlongsuccessgetCurrentPosition

于 2012-05-12T15:02:44.820 に答える