Javascript 科尔多瓦地理定位返回纬度和经度

Javascript 科尔多瓦地理定位返回纬度和经度,javascript,html,windows,cordova,geolocation,Javascript,Html,Windows,Cordova,Geolocation,因此,我对javascript和Cordova还不熟悉,我正在尝试在Visual Studio 2015中创建一个简单的GPS应用程序,当我单击“当前位置”时,它只会获取我的当前位置 当我在Firefox中测试它时,它就工作了,但当我试图在本地机器或远程机器上运行它时,它就不工作了。(我正在使用Windows 10并在松下FZ-M1 Toughpad上进行测试。当我在本地/远程机器上运行时,大约30秒后纬度和经度返回NAN <!DOCTYPE html> <html> &

因此,我对javascript和Cordova还不熟悉,我正在尝试在Visual Studio 2015中创建一个简单的GPS应用程序,当我单击“当前位置”时,它只会获取我的当前位置

当我在Firefox中测试它时,它就工作了,但当我试图在本地机器或远程机器上运行它时,它就不工作了。(我正在使用Windows 10并在松下FZ-M1 Toughpad上进行测试。当我在本地/远程机器上运行时,大约30秒后纬度和经度返回NAN

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
    <meta name="format-detection" content="telephone=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    <link rel="stylesheet" type="text/css" href="css/index.css">
    <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
    <title>gpsCordova</title>
</head>
<body>
    <div class="app">
        <h1>Apache Cordova</h1>
        <div id="deviceready" class="blink">
            <p class="event listening">Connecting to Device</p>
            <p class="event received">Device is Ready</p>
        </div>
    </div>
    <h2>Touch Me.</h2>
    <button id="locationButton">CURRENT LOCATION</button><br>
    <p id="Geolocation"></p>

    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="scripts/platformOverrides.js"></script>
    <script type="text/javascript" src="scripts/main.js"></script>

</body>

gpsCordova
阿帕奇科尔多瓦酒店
连接到设备

设备已准备就绪

摸摸我。 当前位置

document.getElementById(“locationButton”).addEventListener(“单击”,获取位置);
var geoLoc=document.getElementById(“地理位置”);
var geolocationOptions={
EnableHighAccurance:正确,
最高限额:3600000
}
函数getLocation(){
navigator.geolocation.getCurrentPosition(geolocationSuccess、geolocationError、geolocationOptions);
}
功能地理定位成功(职位){
geoLoc.innerHTML=“纬度:”+position.coords.Latitude+
经度:“+position.coords.Longitude”+
“
精度:”+position.coords.accurity+ “
高度:”+position.coords.altime+ “
高度精度:”+position.coords.altitudeAccuracy+ “
标题:”+position.coords.Heading+ “
速度:”+position.coords.Speed+ “
时间戳:”+position.coords.Timestamp+“
”; } 函数geolocationError(错误){ geoLoc.innerHTML=“失败”+ “
错误:”+error.name+ “
消息:”+错误消息; }
我不知道还有什么要补充的,但是有没有人对这个问题有经验?或者我的代码中有没有遗漏什么


感谢您的帮助。

此插件提供的功能在deviceready事件之后才可用


此插件提供的功能在deviceready事件之后才可用


您是否检查了测试设备是否已启用地理位置,以及应用程序是否具有来自操作系统的正确地理位置权限?是的,设备已启用地理位置权限。我不确定您所说的应用程序具有来自操作系统的正确地理位置权限是什么意思,但在设备设置下,应用程序的位置权限处于启用状态。当我运行ap时p当提示我共享位置时,我选择“是”。Hi@mmm121在iOS下,每个应用程序都需要确认使用地理位置,Android v5及以上版本也是如此。我的意思是你是否仔细检查了该应用程序的实际权限(如果适用)。否则,您的代码看起来很好,与我过去成功使用Cordova的代码相似。是的,应用程序下确认了地理位置。我使用的是Windows 10平板电脑,我不知道这是否会产生影响。@mmm121您是如何解决此问题的?您是否检查了测试设备是否启用了地理位置,以及应用程序是否具有正确的地理位置来自操作系统的定位权限?是的,设备已启用地理定位。我不确定您所说的应用程序是否具有来自操作系统的正确地理定位权限,但在设备设置下,应用程序的定位权限处于启用状态。当我运行应用程序时,当它提示我共享位置时,我选择“是”。iOS下的Hi@mmm121每个应用程序都需要e确认使用地理定位,Android v5及以上版本也是如此。我的意思是你是否仔细检查了该应用程序是否实际获得了此权限(如果适用)。否则,您的代码看起来很好,与我过去在Cordova中成功使用的代码相似。是的,在应用程序下确认了地理位置。我使用的是Windows 10平板电脑,我不知道这是否会产生影响。@mmm121您是如何解决此问题的?
document.getElementById("locationButton").addEventListener("click", getLocation);

var geoLoc = document.getElementById("Geolocation");
var geolocationOptions = {
enableHighAccuracy: true,
maximumAge: 3600000
}

function getLocation() {
navigator.geolocation.getCurrentPosition(geolocationSuccess, geolocationError, geolocationOptions);
}

function geolocationSuccess(position) {

geoLoc.innerHTML ="Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude +
"<br>Accuracy: " + position.coords.accuracy +
"<br>Altitude: " + position.coords.altitude +
"<br>Altitude Accuracy: " + position.coords.altitudeAccuracy +
"<br>Heading: " + position.coords.heading +
"<br>Speed: " + position.coords.speed +
"<br>Timestamp: " + position.coords.timestamp + "<br>";

}

function geolocationError(error) {
geoLoc.innerHTML = "Failure" +
   "<br>error: " + error.name +
   "<br>message: " + error.message;
    }