1

私はJavaコードでJavaScriptを使用する単純なコードを持っているので(GoogleのGWTを使用)、ユーザーの緯度を取得し、その数値をJavaコードに戻して計算できるようにするだけです。

ただし、変数 x= position.coords.latitude を Java コードに戻すことはできません。なぜなら、alert(x) を呼び出すと画面に正しい緯度が表示されますが、返そうとすると xはまだ null で、何も起こりません。

public static native Number findlatitude() /*-{
    var x;
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function (position) {
            x = position.coords.latitude;
            alert(x);
        });
    }
    return x;
}-*/;
4

1 に答える 1

0

関数から x の値を返す代わりに、次の値を割り当てることができます。

position.coords.latitude

呼び出し元の関数からアクセスできる変数に。そうすれば、その変数に割り当てられた値が持続します。このようなもの: 編集

var b;
function callingFunction(){
    findLocation();
    //your stuff
}
function floc(position){
    b = position.coords.longitude;
}
function findLocation(){
    navigator.geolocation.getCurrentPosition(floc);
}

callingFunction();
于 2012-07-06T04:45:18.220 に答える