【问题标题】:Google map Api Share location issue in FirefoxFirefox 中的 Google map Api Share 位置问题
【发布时间】:2013-10-05 06:51:21
【问题描述】:

如何防止 Firefox 在每次请求时都要求用户分享他们的位置?

我正在使用 Google 地图 API。下面是我分享位置的代码。在 Firefox 中,它总是要求与下面的弹出窗口共享位置。每次都会发生这种情况,无论我点击Share还是Not Now

下面是我的代码

<% if (!Page.IsPostBack)
{ %>
// opened the share location

if (navigator.geolocation) 
{
    try 
    {
        navigator.geolocation.getCurrentPosition(onPositionUpdate);
    } 
    catch (err) 
    {
        alert(err);
    }
}
else 
{
        alert("You location is not available. Please enter your location to continue!");
}
<%}%>

function onPositionUpdate(position) 
{
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
    try 
    {
        var latLng = new google.maps.LatLng(lat, lng);

        if (marker == null) 
        {
            alert("Sorry we are not able to update your location.");
        }
        else 
        {
            setTimeout(function () 
                {
                    marker.setPosition(latLng);
                    map.setCenter(latLng);
                    document.getElementById('ctl00_ContentPlaceHolderBody_latSel').value = lat;
                    document.getElementById('ctl00_ContentPlaceHolderBody_lngSel').value = lng;
                    geocodePosition(latLng);
                }, 100);
        }
    }
    catch (err) 
    {
        alert(err);
    }
}

【问题讨论】:

  • 您使用的是什么版本的 Firefox?
  • @RyanGates 我使用的是 firefox 24.0
  • @RyanGates 它只在其他浏览器中要求此允许位置一次

标签: c# asp.net firefox google-maps-api-3


【解决方案1】:

发生这种情况是因为您使用的是navigator.geolocation.getCurrentPosition

浏览器必须征求用户的许可才能共享您的地理位置。这取决于您的浏览器的设置。如果您想始终在 Firefox 中分享您的地理位置,只需 follow this link 并转到最后一段。

位置感知浏览在 Firefox 中始终是可选的。未经您的许可,绝不会发送任何位置信息。如果您希望完全禁用该功能,请按照以下步骤操作:

  • 在 URL 栏中,输入 about:config
  • 输入 geo.enabled
  • 双击 geo.enabled 首选项
  • 位置感知浏览功能现已禁用

【讨论】:

  • 感谢您提供此信息。我通过将纬度和经度存储在 cookie 中并检查 cookie 是否为空然后允许共享位置弹出窗口打开并在 cookie 中设置纬度和经度值来做到这一点。你能建议它是否正确吗?
【解决方案2】:

很可能是因为当您在开发服务器上运行您的网站时,您的端口号会发生变化。转到项目属性 -> Web -> 服务器部分:并设置特定端口而不是自动分配。

【讨论】:

    【解决方案3】:

    因为 webkit 和 opera 浏览器的默认设置是正常的。对于 iOS,需要在 css 中使用带有 -webkit 关键字的 html5 某些功能在其他浏览器中不起作用。基本上 safari、chrome、opera 都用于移动设备,并且设备功能可以很好地与这些设备配合使用。 Firefox 浏览器不是移动设备的更好选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      相关资源
      最近更新 更多