アプリ版:「スタンプのみでお礼する」機能のリリースについて

<script type="text/javascript" src="http://gear5.googlecode.com/files/gear5-0.3.js"> …
<script type="text/javascript">
var setlat ;
var a ;

if (navigator.geolocation == undefined){
// Google Mapで利用する初期設定用の変数
setlat = -1;
}

//位置情報の取得
navigator.geolocation.getCurrentPosition(
successCallback,
errorCallback);
//成功したとき
function successCallback(position){
for (var prop in position.coords){

setlat = position.coords.latitude;

}

}

//失敗したとき
function errorCallback(err){
// Google Mapで利用する初期設定用の変数
setlat = -1;
}
a=setlat;

</script>

上記現在位置を取得するjavascriptで
function successCallback(position)の外でsetlatの値を
処理したいのですがfunction successCallback(position)の中で取得した値が
function successCallback(position)の外で取得できません
どうすれば取得できるのでしょうか。

A 回答 (1件)

setlatはグローバル変数になっているので


function successCallback(position)の外でも参照できます。

そのスクリプトの後ろにでも
<input type="button" value="表示" onclick="alert(setlat);">
というボタンをおいてボタンを押してみてください。
successCallbackが呼び出された後であれば、取得した値が表示されるはずです。

なお、そのスクリプトで
a=setlat;
が実行されるのは、successCallbackが呼び出される前なので
aに有効な値は入ってません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!