Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML5地理定位问题_Javascript_Html - Fatal编程技术网

Javascript HTML5地理定位问题

Javascript HTML5地理定位问题,javascript,html,Javascript,Html,我正在为HTML5地理定位编写一个Java脚本,但它似乎不起作用,当我试图在另一个范围内输出内容时,它说未定义。下面是代码 <script> var lat; var lng; function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showPosition); } else{} } function showP

我正在为HTML5地理定位编写一个Java脚本,但它似乎不起作用,当我试图在另一个范围内输出内容时,它说未定义。下面是代码

<script>
var lat;
var lng;
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showPosition);
    }
  else{}
  }
function showPosition(position)
  {
     lat = position.coords.latitude;
     lng = position.coords.longitude;
     document.write(lat); // Doesnt output anything
  }


</script>

    <script type="text/javascript">
          document.write(lat);      // It says undefined
        $(document).ready(function()
        {
             //some scripts here

         }

</script>

var lat;
乏液化天然气;
函数getLocation()
{
if(导航器.地理位置)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{}
}
功能显示位置(位置)
{
纬度=位置坐标纬度;
lng=位置坐标经度;
document.write(lat);//不输出任何内容
}
文件。写入(lat);//它说的是未定义的
$(文档).ready(函数()
{
//这里有一些脚本
}

只有当html页面托管在web服务器上而不是本地主机上时,才会调用成功回调函数。您是在本地测试还是在web服务器上测试?

显然,Chrome只允许您从具有SSL、HTTPS或其他加密方法的集群/安全化服务器跟踪您的位置。请检查@Nielslnc,问题不在hos上但取决于java脚本的异步性质。document.write()为null的原因是,document.write()在地理位置之前执行。我通过在showPosition(position)中执行函数成功地使程序工作功能正确!您修复了它,这对您很好!它与我尝试在localhost中测试时遇到的错误症状相同,因此我想我会与您分享。这不是脚本错误,还有其他问题,如本地测试,或者您没有授予浏览器权限