这是我的应用程序的JavaScript代码

var APPID = "fa89e6e41d40d7766082a8eb31cb25bb";

var temp;

var loc;

var icon;

var humidity;

var wind;

var direction;

function update(weather) {

icon.src = "imgs/codes/" + weather.code + ".png"

humidity.innerHTML = weather.humidity;

wind.innerHtml = weather.wind;

direction.innerHTML = weather.direction;

loc.innerHTML = weather.location;

temp.innerHTML = weather.temp;

}

window.onload = function () {

temp = document.getElementById("temperature");

loc = document.getElementById("location");

icon = document.getElementById("icon");

humidity = document.getElementById("humidity");

wind = document.getElementById("wind");

direction = document.getElementById("direction");

/* NEW */

if(navigator.geolocation){

var showPosition = function(position){

updateByGeo(position.coords.latitude, position.coords.longitude);

}

navigator.geolocation.getCurrentPosition(showPosition);

} else {

var zip = window.prompt("Could not discover your location. What is your zip code?");

updateByZip(zip);

}

}

/* NEW */

function updateByGeo(lat, lon){

var url = "http://api.openweathermap.org/data/2.5/weather?" +

"lat=" + lat +

"&lon=" + lon +

"&APPID=" + APPID;

sendRequest(url);

}

function updateByZip(zip){

var url = "http://api.openweathermap.org/data/2.5/weather?" +

"zip=" + zip +

"&APPID=" + APPID;

sendRequest(url);

}

function sendRequest(url){

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function() {

if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

var data = JSON.parse(xmlhttp.responseText);

var weather = {};

weather.code = data.weather[0].id;

weather.humidity = data.main.humidity;

weather.wind = data.wind.speed;

/* NEW */

weather.direction = degreesToDirection(data.wind.deg)

weather.location = data.name;

/* NEW */

weather.temp = K2F(data.main.temp);

update(weather);

}

};

xmlhttp.open("GET", url, true);

xmlhttp.send();

}

function degreesToDirection(degrees){

var range = 360/16;

var low = 360 - range/2;

var high = (low + range) % 360;

var angles = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"];

for( i in angles ) {

if(degrees >= low && degrees < high){

console.log(angles[i]);

return angles[i];

console.log("derp");

}

low = (low + range) % 360;

high = (high + range) % 360;

}

return "N";

}

function K2F(k){

return Math.round(k*(9/5)-459.67);

}

function K2C(k){

return Math.round(k - 273.15);

}

Html代码

Weather App

Temprature: 0°

Location: Unknown

humidity: 0%

Wind: 0 mph N

手机显示服务器不工作,我想创建本地天气App它在本地服务器上完美运行但不能在线工作...相关推荐

  1. azure云服务器搭建连接_如何创建到Azure SQL数据库的链接服务器

    azure云服务器搭建连接 Linked servers allow to access data from another SQL Server or another data source (e. ...

  2. python服务器qt客户端_python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例...

    本文在上文的基础上重新实现支持多线程的服务器. 以下为TCP客户端的程序代码: #!/usr/bin/env python3 import sys from PyQt5.QtCore import ( ...

  3. js访问对方手机文件夹_[求助]苹果手机想向访问的https网页注入本地JS文件,请问如何实现?...

    浏览器chrome新建一个书签输入下面的代码,或者在地址栏输入javascript:命令如下图,IE不支持. $('#username').val("acqgxj_cly"); $ ...

  4. 虚拟主机换云服务器,云虚拟主机想换云服务器

    云虚拟主机想换云服务器 内容精选 换一换 云服务器组是对云服务器的一种逻辑划分,云服务器组中的弹性云服务器遵从同一策略.当前仅支持反亲和性,即同一云服务器组中的弹性云服务器分散地创建在不同的主机上,提 ...

  5. 快速创建React Native App

    告诉大家一个好消息,为大家精心准备的React Native视频教程发布了,大家现可以看视频学React Native了. 快速创建React Native App 查看最新的React Native ...

  6. 怎么修改APP的服务器,安装app后怎么修改服务器地址

    安装app后怎么修改服务器地址 内容精选 换一换 在移动设备上正确安装APP后,就可以通过APP登录NetEco服务器. 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考. ...

  7. sts无法创建java_java – STS无法在我的机器上启动

    我试图在 eclipse上设置 Spring mvc项目.基本项目工作正常.但是使用restful服务,jersey等开始提供与依赖关系相关的许多错误.所以我打算继续学习STS. 我正在使用STS 2 ...

  8. python开发多平台app_django下创建多个app并设置urls方法

    1.创建第二个app 假设我们项目P下面已经有了一个默认的app,名字是app1.现在我想创建第二个app,名字时app2. 进入pychram下的Terminal中,运行命令: python man ...

  9. python写一个路径选择app_django下创建多个app并设置urls方法

    1.创建第二个app 假设我们项目P下面已经有了一个默认的app,名字是app1.现在我想创建第二个app,名字时app2. 进入pychram下的Terminal中,运行命令: python man ...

最新文章

  1. Oracle 10g新增DROP DATABASE命令
  2. Java过滤特殊字符的正则表达式
  3. VTK:可视化之ScalarBarActorColorSeries
  4. java判断读到末尾_IO流如何判断读取到了流的结尾,程序中以-1来判断,是流中写入一个EOF表示流结束吗,底层实现呢?...
  5. Linux Linux 集群
  6. 快微音频课程小程序v3.8.4+前端
  7. 紫色全屏渐变css3动画UI企业模板
  8. 资源放送丨《MySQL在某航空业公司的架构选型演进之路》PPT视频
  9. java简单巡回置换算法程序代码_巡回置换算法(巡回置换算法实现流程)
  10. [渝粤教育] 中国地质大学 思想道德修养与法律基础 复习题
  11. KeyMob:移动聚合广告的潜力无限
  12. 驰骋工作流引擎表单设计器--表单装载前数据填充
  13. java零基础从入门到精通(全)
  14. node2vec文献出处_图表示学习入门2——Node2Vec
  15. java导出excel 图片_请教java导出多张图片到Excel问题!
  16. dnf全部使用_DNF所有职业通用的CD配装分享 技能无限制使用
  17. 光流传感器 定位精度_光流定位原理是什么??
  18. DIY自制STC单片机开发板
  19. 犀牛中斑马纹分析的作用
  20. ffmpeg当前版本mp4容器 支持G711修改

热门文章

  1. 微信H5支付原生支持
  2. 杂谈:来电显示能否显示陌生人姓名呢?
  3. yarn 错误:There appears to be trouble with your network connection. Retrying…
  4. OPPO手机要如何实现录音转文字?这个方法很简单,看完学到了
  5. eclipse3.4到底改变了什么,陈桥五笔无法使用
  6. Java表格实现以及设置表格格式
  7. 借《Mastering ABP Framework》好好学学这个框架
  8. VS2013/MFC 自绘控件获取系统CPU和物理内存使用率
  9. Django mysql 分页显示_django之分页显示
  10. 【算法讲18:二次剩余】勒让德符号 | 欧拉判别法 | Cipolla 算法