2012-02-20 172 views
0

我想使用此代码加载经纬度值,但负载时的错误,我收回此错误:JavaScript的纬度和经度

Uncaught ReferenceError: position is not defined 
(anonymous function) 

这里是我的html头使用的代码:

<script src="http://maps.google.com/maps/api/js?sensor=true"></script> 
<script type="text/javascript"> 

    $(document).ready(function(){ 
     get_location(); 
    }); 

    function get_location() 
    { 
     if(navigator.geolocation) 
     { 
      navigator.geolocation.getCurrentPosition(function(position){ 

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

      }); 
     } 
    } 

    console.log(position.coords); 
</script> 

我忘了什么吗?

+2

我认为你需要一个位置参数,即添加到回调函数getCurrentPosition(函数(位置){... – Dampsquid 2012-02-20 19:04:09

+0

我添加了位置,但是当我尝试console.log(position.coords)时,我得到了Uncaught ReferenceError:position没有定义 (匿名函数) – 2012-02-20 19:08:06

+0

如果位置仍然未定义,也许该API无法获取您的位置,请尝试添加第二个错误回调,看看是否被调用,顺便说一句,我只是用谷歌搜索,我不知道谷歌地图API只与openmaps一起玩。 – Dampsquid 2012-02-20 19:16:06

回答

1
navigator.geolocation.getCurrentPosition(function(){...} 

必须

navigator.geolocation.getCurrentPosition(function(position){...} 

您可以添加回调errorHandle得到的errorCode

更多信息http://dev.w3.org/geo/api/spec-source.html#geolocation

+0

我纠正了它......但正如我评论说,我收到另一个错误...一些想法? – 2012-02-20 19:10:56

+0

好的问题解决了...一切正常。 – 2012-02-20 19:15:41