phonegap 3.5 wp8地理位置

时间:2014-08-08 10:05:51

标签: cordova windows-phone-8 geolocation windows-phone-8.1

我在Android上有一个完整的应用程序和带有phonegap 3.5的iphone构建

在这个应用程序中,我使用了watchPosition,它可以在Android和iPhone上运行。但现在我想在WP8.1设备上使用我的应用程序。

所以我已经将平台添加到我的项目中并构建它(工作正常)但是watchPosition总是返回一个空位置:

function startGeolocation() {
if (navigator.geolocation) {
    stopGeolocation();      // au cas ou deja lance
    mbdGlobal.geolocationWatchIdHighAccuracy = navigator.geolocation.watchPosition(
        function (position) {
            alert("Position : " + JSON.stringify(position));
            mbdGlobal.lastMyPosition = position;
        },
        // next function is the error callback
        function (error) { displayGeolocationErrorMessage(error, 'GPS') },
        {
            enableHighAccuracy: true
        }
    );
}
else // finish the error checking if the client is not compliant with the spec
{
    alertWebapp(strMessageNotCompatible + "(geolocation)");
}

}

我的提醒显示:位置:{};

我不明白为什么在WP8中这不起作用。我在我的应用上添加了ID_CAP_LOCATION。

如果你知道为什么它不起作用告诉我。

感谢您的所有答案。

编辑: 我还使用geoloc插件制作了一个测试应用程序,但同样的问题并不起作用。

1 个答案:

答案 0 :(得分:0)

我遇到了和你一样的问题,并且已经坚持了几个小时。事实证明,由于某种原因,JSON.stringify在WP上的位置对象上失败。使用position.coords.latitude和position.coords.longitude可以正常工作,所以请尝试提醒那些人。注意:警告position.coords还带回一个空白字符串,你必须一直挖到特定的属性。