在phonegap返回undefined的地理位置

时间:2014-12-16 14:30:18

标签: javascript cordova geolocation

我想从我的phonegap应用程序中的按钮调用地理定位功能。 这是我点击按钮时调用的功能。

function geolocalization () {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(searchstructures, showError, {timeout:60000});
        }
        else {
            alert("Geolocation is not supported by your device.");
        }
    }

    function showError(error) {
        switch(error.code) {
            case error.PERMISSION_DENIED:
                alert("User denied the request for Geolocation.");
            break;
            case error.POSITION_UNAVAILABLE:
                alert("Location information is unavailable.");
            break;
            case error.TIMEOUT:
                alert("The request to get user location timed out.");
            break;
            case error.UNKNOWN_ERROR:
                alert("An unknown error occurred.");
            break;
        }
        $('#loading').css('display', 'none');
        $('#searchresult').css('display', 'none');
        $('#formish').css('display', 'block');  
    }

    function searchstructures(position) {
        $('#formish').css('display', 'none');
        $('#loading').css('display', 'block');
        alert (position.coord);
        ...
        AJAX CALL
        ...
    }

config.xml文件也包含此

<feature name="Geolocation">
  <param name="android-package" value="org.apache.cordova.geolocation"/>
</feature>

但我总是未定义为位置结果(成功函数中的警报始终打印未定义)。 我知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试

function searchstructures(position) {
        $('#formish').css('display', 'none');
        $('#loading').css('display', 'block');
        alert(position.coords.latitude + " " + position.coords.longitude);
}

Check the doc