Google地图Api在Firefox中共享位置问题

时间:2013-10-05 06:51:21

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

如何阻止Firefox在每次请求时要求用户共享其位置?

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

enter image description here

以下是我的代码

<% 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);
    }
}

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

因为默认情况下通常使用webkit和opera浏览器进行设置。对于iOS,必须在css中使用html5和-webkit关键字,某些函数在其他浏览器中不起作用。基本上是safari,chrome,opera用于移动设备,设备功能可以正常使用。 Firefox浏览器不是移动设备的更好选择。

答案 2 :(得分:1)

这是因为您正在使用navigator.geolocation.getCurrentPosition

浏览器必须要求用户共享您的地理位置。这取决于您的浏览器的设置。如果你想在firefox中共享你的地理位置,只需follow this link并转到最后一段。

  

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

     
          
  • 在网址栏中输入about:config
  •       
  • 输入geo.enabled
  •       
  • 双击geo.enabled首选项
  •       
  • 位置感知浏览现已停用
  •