【问题标题】:Get the correct location of a user to display on the screen获取要在屏幕上显示的用户的正确位置
【发布时间】:2016-09-19 12:43:12
【问题描述】:

好的,这就是我正在使用的 javascript Link 。我遇到的问题是代码为用户的位置而不是实际城市显示地球。如果我改变了

$(".currentLocation").html(city);

$(".currentLocation").html(data.name);

我只是得到一个空白,而不是一个位置。

【问题讨论】:

  • 你用浏览器试过响应了吗?好像你的纬度和经度为零。见:api.openweathermap.org/data/2.5/…
  • 是的,我正在使用 chrome 工具进行调试,但我不明白我的 lat 和 lon 值如何能够在天气方面检测到我的位置但不显示实际位置时为零。因为现在正在下雨,我的应用程序更新为显示正在下雨,但仍然没有显示我的位置。

标签: javascript ajax api get openweathermap


【解决方案1】:

可能是因为您在 freegeoip 请求中调用 $get 而不是 $.get()。

同时将最后一行更改为使用 getLocation()

$(function() {
  getLocation();
});

【讨论】:

  • 我将其更改为 $.get() 并没有任何改变。最重要的是,我尝试切换 city 和 data.name 值,但仍然没有任何改变。
  • 似乎您没有从 freegeoip 获得正确的纬度和经度。请检查您对该请求的响应并查看它返回的内容。你甚至在任何地方都调用 getLocation 函数吗?
  • 哦,不,我没有在任何地方调用该函数。我认为天气链接使用的是初始化为 0 的纬度和经度值,而不是由 freegeoip 更改的值。那么我怎样才能让它识别出由 freegeoip 改变的那些。
  • 你可以将它们初始化为空值,然后在调用 openweather 之前进行检查。您还应该处理来自 openweather 和 freegeoip 请求的错误,并将它们显示给用户(如果有)。
  • 现在可以了,我犯了一个粗心的错误,我没有意识到你想让我先调用 getLocation,然后再让它调用我的天气应用程序。一切正常,感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
  • 1970-01-01
  • 2011-05-23
  • 2023-03-07
  • 2020-11-11
  • 1970-01-01
相关资源
最近更新 更多