1

我有一个在 java 代码中使用 javascript 的简单代码(使用 google 的 GWT),所以我要做的就是获取用户的纬度并将该数字传递回 Java 代码,以便我可以对其进行一些计算。

但是,我无法将变量 x= position.coords.latitude 返回到我的 Java 代码,因为即使当我调用 alert(x) 时,它在我的屏幕上显示正确的纬度,当我尝试返回它时,x仍然为空,没有任何反应。

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 的值,而不是从函数返回 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 回答