文档章节

Java WEB天气预报功能实现

七爹
 七爹
发布于 2015/04/21 15:17
字数 337
阅读 84
收藏 0

一、JS中根据HTML5提供的Geolocation定位获取当前位置的经纬度。

if (navigator.geolocation){

        navigator.geolocation.getCurrentPosition(function(position){

        var lat = position.coords.latitude; 

      var lng = position.coords.longitude;

        });

 } else{

     alert( "Your browser does not support Geolocation!" );

}


二、使用百度车联网(http://developer.baidu.com/map/wiki/index.php?title=car/api)提供的api接口,需要先注册百度开发者账号:http://developer.baidu.com/,注册过程省略。审核通过后,就可以创建应用获取密钥AK了,密钥AK会在接下来接口调用中使用。

三、服务器端根据百度提供的车联网api:“反Geocoding”接口由经纬度定位到城市

http://api.map.baidu.com/geocoder/v2/?ak=A72e372de05e63c8740b2622d0ed8ab1&location=29.78545893326,121.53783481355&output=json

四、再根据其“天气查询”接口查询对应城市天气。

http://api.map.baidu.com/telematics/v3/weather?location=杭州市&output=json&ak=A72e372de05e63c8740b2622d0ed8ab1

由于百度说明:天气API无法提供超过5000次的天气服务免费支持。所以暂时将城市和对应的城市天气信息保存在redis中,并设置过期时间,这样既可以保证向百度请求接口次数不会超过,有基本准确的时间信息,又不需要去维护这部分数据。


© 著作权归作者所有

共有 人打赏支持
七爹
粉丝 1
博文 8
码字总数 4080
作品 0
宁波
程序员
私信 提问
【JavaWeb天气预报求助】如何实现web天气预报?

【JavaWeb天气预报求助】如何实现web天气预报? 如图,是百度的天气预报,怎么用java实现天气预报呢?

双人鱼XKQ
2013/12/21
1K
3
AEAI WX 微信扩展框架 V1.0 版发版说明

AEAI WX 微信扩展框架是基于 Java 封装的微信公众号二次开发框架,基于该框架可以快速接入微信,实现自定义菜单创建、信息按规则自动回复、集成企业的线上系 统(HR、CRM、微店、网站等)、同...

数通畅联
2015/05/08
4K
11
AEAI WX 微信扩展框架 V1.0 版本发版说明

AEAI WX 微信扩展框架是基于 Java 封装的微信公众号二次开发框架,基于该框架可以快速接入微信,实现自定义菜单创建、信息按规则自动回复、集成企业的线上系 统(HR、CRM、微店、网站等)、同...

数通畅联
2015/05/08
0
0
经过糟糕一年后,Java 正沿着正确方向发展

在刚刚过去的 2012 年中,Java 的形象因为安全方面的问题大受影响,但它仍然是一个关键的企业软件开发平台。而 2013 年,用户可以期待新的版本发布,包括企业版 Java 和标准版 Java。 JDK 8 ...

oschina
2013/01/05
6.5K
19
求教再web.xml里配置的spring启动和配置文件路径如何在java代码中实现

我现在项目是web的但只用了web.xml这一个和web相关的,我想把项目达成jar使用,让它变为java项目,我如何在java中实现以下web.xml配置实现的功能呀 求教 我在java的main方法中读取配置文件却...

开源中国技术顾问
2015/06/30
3K
2

没有更多内容

加载失败,请刷新页面

加载更多

虚拟化 - KVM 和 Xen 比较

Linux虚拟化技术的用户目前有两种免费的开源管理程序可以选择:Xen和KVM。 作为较早出现的虚拟化技术,Xen是“第一类”运行在裸机上的虚拟化管理程序(Hypervisor),也是当前相当一部分商业...

临江仙卜算子
16分钟前
0
0
给windows server中的“未识别的网络”或“无法识别的网络”设置网络位置类型

在windows server中,如果网络没有被正确的识别,那么就需要手工设置一下网络位置类型。 将“公用网络”指定设置为“专用网络“ 【控制面板】--【系统和安全】--【管理工具】--【本地安全策略...

gugudu
今天
2
0
阿里强制要求的21条Java开发规范,可以避免很多坑

1. 【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,无谓增加编译器解析成本,直接用类名来访问即可。 2. 【强制】所有的覆写方法,必须加@Override注解。 说明:getObject...

天王盖地虎626
今天
10
0
oracle dg 备库未设置convert参数导致ORA-01111,ORA-01110

查看trace 文件: MRP0: Background Managed Standby Recovery process started (amls) started logmerger process Sun Jan 20 07:55:53 2019 Managed Standby Recovery starting Real Time ......

hnairdb
今天
2
0
乱入Linux界的我是如何学习的

欢迎来到建哥学Linux,咳!咳!咳!开个玩笑哈,我是一个IT男,IT界的入门选手,正在学习Linux。 在之前,一直想进军IT界,学习IT技术,但是苦于没有人指导,也不知道学什么,最开始我自己在...

linux-tao
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部