【问题标题】:geolocation, share location dialog地理位置,共享位置对话框
【发布时间】:2014-11-26 11:42:59
【问题描述】:

如果您想在网络浏览器中了解用户的地理位置,您必须使用 html 5 api。调用函数时:

navigator.geolocation.getCurrentPosition(success) 

会弹出一个对话框,询问用户是否要共享位置。我的问题是,是否可以知道用户何时单击确认。我想在用户单击确认按钮后在 html 页面上显示加载微调器。 (在手机上获取位置可能需要一些时间,我不希望在他按下确认按钮之前显示微调器,因为他可能会感到困惑)

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    你试过这个代码吗?您可以添加回调函数,并在其中处理用户响应。

    navigator.geolocation.getCurrentPosition(successCallback, errorCallback {maximumAge:600000});
    
    function successCallback(position) {
        // Handle Confirm button hit
    }
    
    function errorCallback(error) {
        // Other
    }
    

    【讨论】:

    • 他需要一个回调,在用户按下确认后触发,但在确定位置后调用成功..
    【解决方案2】:
    navigator.geolocation.watchPosition(function(position) {
    //Succes Code
    },
    function (error) { 
    if (error.code == error.PERMISSION_DENIED)
    //Code when permission is not granted
    });
    

    我不确定,手机会对此做出很好的反应,但它可以在 PC 上运行。

    【讨论】:

      【解决方案3】:

      不,你不能。当您的地理位置代码执行时,请求转到浏览器,然后浏览器要求用户确认。如果用户接受,则请求继续,否则它将丢弃。因此,无论用户是否单击接受按钮,您都不会得到任何确认。但是您将通过使用错误 PERMISSION_DENIED

      来了解用户是否被拒绝

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多