获取我当前位置的自定义弹出窗口

Posted

技术标签:

【中文标题】获取我当前位置的自定义弹出窗口【英文标题】:Custom Popup for get my current location 【发布时间】:2017-05-27 12:32:57 【问题描述】:

我当前的站点完全取决于当前位置。现在我正在使用地理定位来获取当前位置。但在当前情况下,用户对共享位置感到困惑。所以我想创建一个自定义弹出窗口(引导程序)来获取客户端 PC 的当前位置。

我目前的代码如下:

function getLocation() 

    if (navigator.geolocation) 
        navigator.geolocation.getCurrentPosition(showPosition, error, enableHighAccuracy:true,timeout:60000,maximumAge:0);
    
    else 
        console.log("Geolocation is not supported by this browser.");
    


function error(error) 
    console.log(error);


function showPosition(position) 

    var latitude = position.coords.latitude,
    longitude = position.coords.longitude;

    console.log(latitude);
    console.log(longitude);

请帮助我解决这个问题。

【问题讨论】:

代码有什么问题? 如果你想使用 bootstrap,请阅读他们的 modals,它很容易创建 @Teemu 代码运行良好,但我想创建自定义弹出窗口以获取地理位置权限,而不是来自用户的自定义位置弹出窗口。 @Roljhon 是的,我知道引导模型。但是要创建自定义弹出窗口以获取客户端 PC 权限的权限。我已经搜索了很多相同的内容,但我无法找到任何方法。 【参考方案1】:

现在可以绕过浏览器的地理定位权限弹出窗口。在 Chrome 上,它看起来像这样:

用户需要先点击允许,然后您才能读取他们的位置(这是一项安全功能)。 但是,如果您绝对需要它,您可以检测权限是否已被拒绝,并向用户解释如何授予权限以及为什么它很重要。

查看this answer 到类似问题和this example 以检测“权限被拒绝”错误:

function getLocation() 
  if (navigator.geolocation) 
    navigator.geolocation.getCurrentPosition(showPosition, positionError);
   else 
    console.log("Geolocation is not supported by this browser.");
  


function showPosition(position) 
  // Success, can use position.
  console.log("Your position is: " + position);


function positionError(error) 
  if (error.PERMISSION_DENIED) 
    console.log("Error: permission denied");
    // Your custom modal here.
    showError('Geolocation is not enabled. Please enable to use this feature.');
   else 
    // Handle other kinds of errors.
    console.log("Other kind of error: " + error);
  


function showError(message) 
  // TODO


getLocation();

【讨论】:

以上是关于获取我当前位置的自定义弹出窗口的主要内容,如果未能解决你的问题,请参考以下文章

WPF在固定位置的切换按钮下方弹出窗口

从 JComboBox 弹出窗口中获取当前突出显示的项目(未选中的项目)

如何使用自定义布局创建对话框弹出窗口?

如何在 MapControl 中动态使用具有多个引脚的多个自定义弹出窗口

出现“使用当前位置”权限弹出窗口时,Appium 和 Selenium 无法连接

弹出窗口 WPF 表单自定义控件内容