Phonegap地理位置API总是得到错误代码3 [英] Phonegap Geolocation API always getting error code 3

查看:112
本文介绍了Phonegap地理位置API总是得到错误代码3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的phonegap android应用程序中使用phonegap地理位置API。它总是显示错误代码代码3,超时错误。我也尝试更改超时变量值增加,enableHighAccuracy为true.But没有更改结果。

I am using phonegap geolocation API in my phonegap android application.It always shows error code code 3,Timeout error.I am also try to change timeout variable value to increased,enableHighAccuracy to be true.But no change in result.But it will works on browser not runs in application.Give me the solution for this problem.

这是我的代码

<!DOCTYPE html>
<html>
<head>
<meta name="viewport"
    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
    <link rel="stylesheet" href="css/contact.css" type='text/css' />
<link rel="stylesheet" href="css/jquery.mobile-1.3.1.min.css"
    type='text/css' />
    <script type="text/javascript"
    src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCJAbwOQjaVjDy9XJ0UEZCvTdZeW_atXak&sensor=false">
    </script>
<script type="text/javascript" charset="utf-8" src="cordova-2.9.0.js"></script>
<script src="jquery.mobile/jquery-1.10.2.min" type='text/javascript'></script>

<script>

    document.addEventListener("deviceready", onDeviceReady, false);
$(document).on("mobileinit", function() {
    $.mobile.phonegapNavigationEnabled = true;
    $.support.cors = true;
    $.mobile.allowCrossDomainPages = true;
    $.mobile.loadingMessageTextVisible = true;
    $.mobile.pageLoadErrorMessage;
});
$(document).ready(function() {
    $('#Login').show();
    $('#Contacts').hide();
});




function success(name) {
    alert(name);
}

function error() {
    alert("error");
}

function login() {

    var name = $("#name").val();
    if (navigator.notification) {
        navigator.notification.alert("Welcome  " + name, alertDismissed, 'Sample App', 'Ok');
    } else {
        alert("Welcome  " + name);
    }
    var options = {
        enableHighAccuracy: true,
        timeout: 8000,
        maximumAge: 10000
    };
    navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
    $("#Login").hide();
    $("#Contacts").show();

}

function alertDismissed() {
    console.log("ok");
}



function onSuccess(position) {
    var latt1 = position.coords.latitude;
    var lont1 = position.coords.longitude; //alert(latt1+" "+lont1);
    var myLatlng1 = new google.maps.LatLng(latt1, lont1);
    var mapOptions1 = {
        center: myLatlng1,
        zoom: 10,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions1);
    var marker1 = new google.maps.Marker({
        position: myLatlng1,
        map: map,
        title: "You are here! (at least within a " + position.coords.accuracy + " meter radius)"
    });
    var circle = new google.maps.Circle({
        radius: 26000,
        strokeColor: "#00FF00",
        strokeOpacity: 0.8,
        strokeWeight: 2,
        fillColor: "#C0C0C0",
        fillOpacity: 0.35,
        map: map
    });
    marker1.setIcon("./images/blue_dot_circle.png");
        marker1.setMap(map);
}

function onError(error) {
    if (navigator.notification) {
        navigator.notification.alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n', alertDismissed, 'Sample App', 'Ok');
    } else {
        alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n');
    }
}



function AlertConfirmed(buttonIndex) {
    if (buttonIndex == 1) {
        device.exitApp();
        console.log(buttonIndex);
    } else {
        console.log(buttonIndex);
    }
}

function goHome() {
    navigator.app.loadUrl("http://www.google.co.in", {
        openExternal: true
    });
}    


</script>

<script src="jquery.mobile/jquery.mobile-1.3.1.min.js"
    type='text/javascript'></script>
</head>
<body>
<div data-role="page" >
    <div id="Login">
        <div data-role="header" data-position="fixed" data-theme="b"
            data-tap-toggle="false" class="header" data-transition="none"
            id="myFixedHeader">
            <p>Sample Application</p>
        </div>

        <div data-role="content">
            <div id="title">

                <div
                    style="width: 90%; padding-left: 5%; padding-right: 5%; padding-top: 3%; padding-bottom: 1%;">
                    <input type="text" name="password" id="name" data-mini="true"
                        placeholder="Enter Your Name " value="" data-inline="true">
                </div>
                <center>
                    <div id="log"  onclick="login()">Login</div>
                </center>
            </div>
        </div>
        <div data-role="footer" data-theme="b" data-position="fixed"
            class="footer" data-transition="none" data-tap-toggle="false">
            <p onclick="goHome()">&copy;&nbsp;2014
                Sample App Reserved, LLC.</p>>
        </div>
    </div>

    <div  id="Contacts">

        <div data-role="header" data-theme="b" data-tap-toggle="false"
            data-position="fixed" class="header" data-transition="none">
            <h3 id="htitle">Home Page</h3>

        </div>
        <div data-role="content" id="map_canvas" >


        </div>

        <div data-role="footer" data-theme="b" data-position="fixed"
            class="footer" data-transition="none" data-tap-toggle="false">
            <p onclick="goHome()">&copy;&nbsp;2014
                Sample App Reserved, LLC.</p>
        </div>

</div>

</body>
</html>


I have added Permissions INTERNET,FINE_LOCATION,COARSE_LOCATION in manifest file
and corrova 2.9.0.js


推荐答案

I made one mistake in config.xml.Now,I have added 

   <access origin="*"/> 
  <access origin="*://*.googleapis.com/*" subdomains="true" />
<access origin="*://*.gstatic.com/*" subdomains="true" />
<access origin="*://*.google.com/*" subdomains="true" />
<access origin="*://*.googleusercontent.com/*" subdomains="true" />

in my config.xml file.googlemap geolocation showed successfully

这篇关于Phonegap地理位置API总是得到错误代码3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆