从函数中获取经度和纬度值

时间:2013-09-18 22:14:06

标签: javascript jquery map geolocation

请问我如何获得" lat"的价值?和" lon"在他们的功能之外使用其他地方在页面上。

   navigator.geolocation.getCurrentPosition(handle_geolocation_query,handle_errors);  

    function handle_errors(error)  
    {  
        switch(error.code)  
        {  
            case error.PERMISSION_DENIED: alert("user did not share geolocation data");  
            break;  
            case error.POSITION_UNAVAILABLE: alert("could not detect current position");  
            break;  
            case error.TIMEOUT: alert("retrieving position timed out");  
            break;  
            default: alert("unknown error");  
            break;  
        }  
    }  
   function handle_geolocation_query(position){  
        var lat = (position.coords.latitude);
       var lon = (position.coords.longitude); 

    }

我想要做的是获取设备的经度和纬度并将其作为查询和数据库的参数传递,也可以将其他值用于相同的值。我无法弄清楚如何去做。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我的第一件事(在这个晚些时候:D)是这样的:

  • 在处理程序之外声明一个变量,让我们说:

    var coords = {};

  • 然后在你的'handle_geolocation_query'处理程序中,触发一个事件,为你提供一个你的位置准备就绪的假设,假设你正在使用jQuery:

    $(coords).trigger('positionReady',position);

  • 之后,无论您需要这些坐标,都要听取自定义的“positionReady”事件并完成工作:

    $(coords).on('positionReady',function(e,position){     的console.log(位置); });

这将帮助您避免“意大利面条代码”,但与此同时,您需要异步“思考”,并且可能以您需要的(正确)方式使用回调。