javascript、jquery 地理定位错误

标签 javascript jquery variables geolocation undefined

我有以下代码:

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(function(posi) {
    var lat = posi.coords.latitude;
    var lon = posi.coords.longitude;
    console.log(lat);
  }, showError);
} else {
  $(".position").html("Geolocation is not supported by this browser");
}

function showError(error) {
  switch (error.code) {
    case error.PERMISSION_DENIED:
      alert("User denied the request for Geolocation.");
      break;
    case error.POSITION_UNAVAILABLE:
      alert("Location information is unavailable.");
      break;
    case error.TIMEOUT:
      alert("The request to get user location timed out.");
      break;
    case error.UNKNOWN_ERROR:
      alert("An unknown error occurred.");
      break;
  }
}

alert(lat);
$(".weather").html("<p>" + lat + "</p>");

问题是在底部的警报(纬度)处它说 它是未定义的,并且在 if 条件开始时 console.log(lat) 工作完美!底部出了什么问题? 我尝试过在 if 之前创建全局变量 lon, lat 但同样的事情发生了。

最佳答案

作为引用,这里是根据之前的评论修正的代码:

function showError(error) {
  [...] // No change.
}

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(function(posi) {
    var lat = posi.coords.latitude;
    var lon = posi.coords.longitude;
    console.log(lat);
    alert(lat);
    $(".weather").html("<p>" + lat + "</p>");
  }, showError);
} else {
  $(".position").html("Geolocation is not supported by this browser");
}

关于javascript、jquery 地理定位错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32898151/

相关文章:

javascript - 列轮播 slider

javascript - 增加 jQuery val() 不起作用

css - rails/CSS : variable width text inputs

ruby-on-rails - 何时以及为何应使用类和全局变量?

javascript - 脚本未加载到对话框模式中

javascript - Rails-toastr : add a close button

javascript - 从单个字符串中分离两个日期

javascript - 选择文本时的处理程序

php - PHP 中的 $x+++$X++ 是什么? increment 的异常使用

javascript - Pixi.JS 不适用于移动设备,因为 AccessibilityManager 抛出错误