所以我第一次尝试在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();
});,
答案 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();
});
答案 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>