使用Apache Cordova的Visual Studio Android模拟器和位置更改

时间:2016-06-27 08:55:38

标签: android cordova visual-studio-2015 geolocation visual-studio-cordova

我正在Visual Studio中开发Cordova应用程序,并且正在使用最新版本的Apache Cordova工具。

我遇到了VS模拟器和附加工具的位置部分的问题。

我添加了一堆地理位置并让它们自动在列表中循环,但是从here下载的地理位置插件并没有接收到它。

我也试过在iOS上运行,你可以选择一些预定义的场景(跑步,骑行,高速公路骑行),并在那里按预期工作。

为了让插件在Android上的模拟器上运行,我需要勾选/启用/无论什么吗?

编辑: 这是我用来检查位置变化的一段代码:

 var watchPosition = function(success, error) {
    watchId = navigator.geolocation.watchPosition(success, error, { timeout: 30000 });
};

这在iOS模拟器中运行良好,但在VS Android模拟器中无效 它甚至可以在Ripple中正常工作(注册位置有时需要10-15秒)

3 个答案:

答案 0 :(得分:0)

您可能想要尝试清除Cordova缓存。 在VS中:工具 - > 选项,Apache Cordova工具和Clear Cordova Cache。

您还可以尝试清除Ripple使用的Chrome用户目录,以防万一有一个cookie集破坏了cordova插件。您可以删除此文件夹:%AppData%\ Microsoft \ VisualStudio \ MDA \ RPL_UserData

我还建议您将Apache Cordova的VS Tools更新为here的最新版本

此外,您可以尝试这种尝试 - 我不确定它是否有帮助,但值得一试 - http://docs.telerik.com/platform/samples/Sample-Geolocation/

答案 1 :(得分:0)

尝试使用其他模拟器。 VS提供的仿真器在某些情况下往往无法正常工作,因此从VS以外的其他提供商处下载外部Android仿真器。

我推荐使用Genymotion Android模拟器 - 易于使用且加载速度相当快:https://www.genymotion.com

如何在Visual Studio中使用Genymotion的视频教程:
   https://www.youtube.com/watch?v=imDT6hIyKc4

答案 2 :(得分:0)

感谢大家的尝试,但最终它变得更简单(更令人沮丧?)解决方案。

我正在阅读地理位置插件的文档,并阅读了一个名为enableHighAccuracy的选项

我试一试,我的watchPosition功能现在看起来像这样

navigator.geolocation.watchPosition(onSuccess, onError, { 
    timeout: 30000,
    enableHighAccuracy: true 
});

现在它就像一个魅力。希望这能帮助其他有需要的人:)