phonegap 地理定位不起作用

Posted

技术标签:

【中文标题】phonegap 地理定位不起作用【英文标题】:phonegap geolocation does not work 【发布时间】:2014-12-16 11:25:10 【问题描述】:

您好,phonegap 的地理位置对我不起作用。这是我的代码。

function getGeo() 
    alert("begin getGeo");
    navigator.geolocation.getCurrentPosition(onSuccess, onError);


function onSuccess(position) 
    alert("onsuccess");
    var test = '"lat":"' + (position.coords.latitude) + '", "long":"' + (
        position.coords.longitude);
    alert(test);


function onError(error) 
    alert('code: ' + error.code + '\n' + 'messagee: ' + error.message +
        '\n');

我收到“开始 getGeo”的警报,然后什么也没发生。

在我的 config.xml 文件中,我添加了这一行。

<gap:plugin name="org.apache.cordova.geolocation" version="0.3.10" />

【问题讨论】:

首先在您的设备中设置定位服务,试试这个链接可能会有所帮助:***.com/questions/26037702/… 【参考方案1】:

试试这个:

navigator.geolocation.getCurrentPosition(onSuccess, onError, maximumAge:600000, timeout:5000, enableHighAccuracy: true);

function onSuccess(position) 
    //Lat long will be fetched and stored in session variables
    //These variables will be used while storing data in local database 
    localStorage.setItem("lat", position.coords.latitude);
    localStorage.setItem("long", position.coords.longitude);

function onError(error) 
    if (error.code == error.TIMEOUT)
    
        // Attempt to get GPS loc timed out after 5 seconds, 
        // try low accuracy location
        navigator.geolocation.getCurrentPosition(
               onSuccess, 
               errorCallback_lowAccuracy,
               maximumAge:600000, timeout:10000, enableHighAccuracy: false);
        return;
    
    alert("GeoLocation didn't worked, try to reboot your internet connection or your device, the app will close now.");
    navigator.app.exitApp();


function errorCallback_lowAccuracy(error) 
    alert("GeoLocation didn't worked, try to reboot your internet connection or your device, the app will close now.");
    navigator.app.exitApp();

【讨论】:

我对其进行了测试,并从函数“errorCallback_lowAccuracy”mmh 中获得了警报 尝试重新安装您的设备 我愿意。但仍然是相同的警报。【参考方案2】:

您忘记在代码前插入此文件。

https://github.com/apache/cordova-plugin-geolocation/blob/master/www/geolocation.js

getCurrentPosition:function(successCallback, errorCallback, options) 这个文件中的函数。

【讨论】:

以上是关于phonegap 地理定位不起作用的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGAP 地理位置在 Android 中不起作用

App Store中的Phonegap地理位置不起作用

通过 phonegap build 构建时,地理位置不起作用

地理定位在 GPS 关闭的情况下不起作用

地理定位 API 在某些 Android 设备上不起作用

Phonegap构建地理位置不起作用