0

使用启动位置监视器时出现错误,在 Android 5 中观察到该错误。我收到以下错误:未找到 jsonObject["coords"]。

4

1 回答 1

0

我找到了解决方案。. . 更新 adf 移动框架 或使用 javascript 代码获取 Location 如下:在支持 bean 中调用 Javascript 方法,使用:

 AdfmfContainerUtilities.invokeContainerJavaScriptFunction(AdfmfJavaUtilities.getFeatureName(),"getLocation", new Object[] { });

并且在 maf-feature.xml 中包含具有上述内容的 Javascript 文件:

    function getLocation() {
    if (navigator.geolocation) {
    var timeoutVal = 10 * 1000 * 1000;
        navigator.geolocation.getCurrentPosition(showPosition, displayError,
    { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 });
    }
    else {
        alert("error in finding location");


    }
}


function showPosition(position) {
alert( position.coords.longitude+" "+ position.coords.latitude);


adf.mf.el.setValue( {
            "name" : "#{pageFlowScope.longitude}", "value" : position.coords.longitude
        },
        onSuccess, onFail);

        adf.mf.el.setValue( {
            "name" : "#{pageFlowScope.latitude}", "value" : position.coords.latitude
        },
        onSuccess, onFail);   
}


function onSuccess(request, response) {
    alert(response);
}


function onFail(request, response) {
    alert(response);
}


function displayError(error) {
  var errors = {
    1: 'Permission denied',
    2: 'Position unavailable',
    3: 'Request timeout'
  };
  alert("Error: " + errors[error.code]);
}
于 2015-11-01T13:11:41.650 回答