无法弄清楚地理位置

时间:2013-07-04 03:48:29

标签: jquery geolocation

所以我第一次尝试在Javascript中使用地理位置。我基本上复制了来自另一个堆栈溢出jsfiddle示例的代码,这有效,但我得到了一些奇怪的错误。有一段时间我在JS控制台中得到了“最大调用堆栈大小超过jquery”错误(并且对getLocation()调用了20次),现在我什么也没收到 - 除了地址栏中的小目标图标有一个X在它上面说地点权限被拒绝(即使在自动允许所有位置请求之后)。这是关于铬。尝试过野生动物园,它发出警报要求获得许可,但后来什么也没发生。仍然没有错误。有什么建议吗?

    $(window).load(function() {
    function getLocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(showPosition);
        }
        else {
            $('#test').write("Couldn't fetch location.");
        };
    };

    function showPosition(position) {
        $('#test').write("<h1>Latitude: \"" + position.coords.latitude + "\"</h1>");
        $('#test').write("<h1>Longitude: \"" + position.coords.longitude + "\"</h1>");
    };

    getLocation();
});, 

2 个答案:

答案 0 :(得分:0)

jQuery中没有write()方法,你最后有一个逗号。
修复语法错误,它应该工作:

$(function() {
    function getLocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(showPosition);
        }
        else {
            $('#test').html("Couldn't fetch location.");
        }
    }

    function showPosition(position) {
        $('#test').html("<h1>Latitude: \"" + position.coords.latitude + "\"</h1>");
        $('#test').append("<h1>Longitude: \"" + position.coords.longitude + "\"</h1>");
    }

    getLocation();
});

FIDDLE

答案 1 :(得分:0)

<script>

var x=document.getElementById("test");

function getLocation()
{
if( navigator.geolocation{navigator.geolocation.getCurrentPosition( showPosition);
}
else { x.innerHTML = "Geolocation  is not supported by this browser.";
}}function showPosition(position){x.innerHTML="Latitude: " + position.coords.latitude + <br>Longitude: " + position.coords.longitude; }

</script>