Phonegap geoLocation无法在Android上运行

时间:2016-03-22 11:00:50

标签: javascript android cordova

所以我试图让geoLocation在android上运行。我使用下面的代码,我不得不说在浏览器中它完美地工作,但是当我在设备上运行它时它不起作用。这是我的代码:

的index.html

<p id="lat">Stad :</p>
<p id="lng">Straat :</p>

<script>
    window.onload = function(){
        document.addEventListener("deviceready", init, false);
    }

    function init(){
        navigator.geolocation.getCurrentPosition(positionSucces, positionError);
    }

    function positionSucces(position){
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;

        document.getElementById("lat").innerHTML = latitude;
        document.getElementById("lng").innerHTML = longitude;
    }

    function positionError(error){
        alert(error.message);
    }

</script>

有人提示如何使这项工作适用于移动设备吗? (当然是android)

1 个答案:

答案 0 :(得分:0)

你是如何在Android设备上进行测试的? PhoneGap桌面?或者您正在构建您的应用程序(Adobe PhoneGap Build),然后在设备上进行测试?

  1. 那是你的所有代码吗?我很惊讶它适用于浏览器,因为,deviceready事件不会在浏览器上触发。你需要cordova来解雇这个事件。
  2. (如果您在PhoneGap桌面上进行测试)请确保您已在设备上打开了您的位置,因为&#34;如果关闭地理定位服务,则会在超时间隔(如果已指定)后调用onError回调。如果未指定timeout参数(如您的情况),则不会调用回调。&#34;来源 - https://github.com/apache/cordova-plugin-geolocation
  3. (如果您正在使用PhoneGap构建)您说,您的config.xml中包含插件。如果您正在使用Adobe PhoneGap构建...请确保文件(config.xml)与index.html位于同一层次结构(目录)中。 PhoneGap默认情况下会在config.html上创建一个目录。