我在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插件制作了一个测试应用程序,但同样的问题并不起作用。
答案 0 :(得分:0)
我遇到了和你一样的问题,并且已经坚持了几个小时。事实证明,由于某种原因,JSON.stringify在WP上的位置对象上失败。使用position.coords.latitude和position.coords.longitude可以正常工作,所以请尝试提醒那些人。注意:警告position.coords还带回一个空白字符串,你必须一直挖到特定的属性。