【问题标题】:Geolocation on JQuery Mobile applicationJQuery Mobile 应用程序上的地理位置
【发布时间】:2013-10-10 13:37:53
【问题描述】:

在我的表单中,我有 3 个隐藏输入,旨在获取用户当前的纬度和经度,并将两者发送到 MySQL 数据库。 我尝试了一些代码,但是当我在移动环境中运行它时,它清楚地表明两个输入都没有填充纬度和经度。

HTML 代码

<div id="clockinPage" data-role="page" data-theme="c">
    <div id="wrapper_top_image">
       <div id="top_image"></div>
    </div>
    <div id="authentic">The information below will be used as Clock-In register.</div>
    <div data-role="content" >
        <div id="landmark-1" data-landmark-id="1">
            <form id="cname" align="left" action="post" data-ajax="false" >
               <label for "id">Employee's Name:</label><br/>
               <select name="id" id="id">
               <option value=""></option>
               </select><br/>
               <label for "job_id">Job's Name:</label><br/>
               <select name="job_id" id="job_id">
               <option value=""></option>
               </select><br/>
               <input type="hidden" name="latitued" id="latitued" value=""><br/>
               <input type="hidden" name="longitude" id="longitude" value="" >
               <input type="hidden" name="goo_map_api" id="goo_map_api" value="">
               <input type="submit" value="Clock-In" id="enviar_in" data-inline="true">        
            </form>
      </div>
   </div
</div>

JQuery 脚本

$(document).on('pagebeforeshow', '#clockinPage', function() {

    var Geo={};

    if (navigator.geolocation) {
       navigator.geolocation.getCurrentPosition(success, error);
    }

    //Get the latitude and the longitude;
    function success(position) {
        Geo.lat = position.coords.latitude;
        Geo.lng = position.coords.longitude;
        populateHeader(Geo.lat, Geo.lng);
    }

    function error(){
        console.log("Geocoder failed");
    }

    function populateHeader(lat, lng){
        $('#latitued').html(lat);
        $('#longitude').html(lng);
        $('#goo_map_api').html("http://maps.googleapis.com/maps/api/geocode/json?latlng="+lat+","+lng+"&sensor=false");
    }

});

当我尝试从上述表单发布信息时,它返回以下错误: 应用程序错误 - 出现网络错误。 (file:///android_asset/www/post?id=1&job_id=2&latitued=&longitude=&goo_map_api=)

这清楚地表明它得到了输入选择id,输入选择job_id但是左边3个,纬度,经度和goo_map_api是空的。 有谁知道发生了什么? 谢谢。

【问题讨论】:

    标签: html jquery-mobile


    【解决方案1】:

    去掉if检查,只需要:navigator.geolocation.getCurrentPosition(success, error);

    【讨论】:

    • 完美@Sheetal。它就像一个魅力!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2015-03-24
    相关资源
    最近更新 更多