当前位置:首页 > 资讯 > 正文

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

 

目录

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

一、简单介绍

二、实现原理

三、注意实现

四、效果预览

五、实现步骤

百度地图申请 ak:

Unity上实现:

六、关键代码

七、工程参考

八、参考文章(十分感谢这些博主的文章)

九、附:一些免费、稳定的天气预报 API 的资源参考学习

1. 国家气象局

2. 中国天气SmartWeatherAPI(http://art.weather.com.cn/wzfw/art/weatherapi.shtml)

3. 和风天气

4. 心知天气(免费版只提供地级市数据)

5. 彩云天气

6. 中央天气预报


 

Unity 工具类,自己整理的一些游戏开发可能用到的模块,单独独立使用,方便游戏开发。

本届介绍获取所在城市的天气数据,并且封装成数据接口,只要设置一个监听数据接口,即可调用。

 

1、首先根据联网 IP 获得当前所在城市,使用百度的web API;

2、然后根据城市名称得到天气所需要的城市ID;

3、根据城市ID,最后得到天气数据,解析封装给接口调用;

 

1、需要在百度地图开发者平台上申请一个 ak,API 和 ak 共同组成 接口,获得位置 json 解析数据

2、使用时候需要连接网络

3、接口目前好似只能获得国内的城市天气数据

 

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

百度地图申请 ak:

1、登录百度地图开发者中心,需要一个百度账号,自行注册申请即可

网址:http://lbsyun.baidu.com/

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

2、开发文档 ,选择 Web服务API

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

3、获取密钥(AK 应用钥匙)

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

4、创建应用即可获得 AK ,也可以用之前创建的(根据需要)

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

5、在Web服务API 普通 IP 定位中,可以看到相关使用文档,API 接口,以及返回 json 格式,等

注意 :API 和 ak 共同组成 接口,获得 json 解析数据

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

 

Unity上实现:

1、打开Unity,新建一个空工程,导入LitJson 插件

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

2、在场景中布局UI,展示一些天气数据

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

3、新建几个脚本,其中几个脚本定义一些数据结构(PositionDataStruct,WeatherDataStruct),GetWeatherWrapper 主要实现定位当前城市,和获取天气数据,TestGetWeatherWrapper 测试 GetWeatherWrapper 的接口,并展示一些天气数据

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

4、运行场景,效果如下

Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)

 

1、PositionDataStruct

 

 

2、WeatherDataStruct

 

 

3、GetWeatherWrapper

 

 

4、TestGetWeatherWrapper

 

 

下载地址:https://download.csdn.net/download/u014361280/12568067

 

1、https://blog.csdn.net/SnoopyNa2Co3/article/details/89853201

2、https://www.jianshu.com/p/e3e04cf3fc0f

 

1. 国家气象局

1)实时接口:

实时天气1:http://www.weather.com.cn/data/sk/101190408.html

实时天气2:http://www.weather.com.cn/data/cityinfo/101190408.html

实时天气3(带时间戳):http://mobile.weather.com.cn/data/sk/101010100.html?_=1381891661455

2)一周天气预报接口

7天预报数据 URL: http://mobile.weather.com.cn/data/forecast/101010100.html?_=1381891660081

该接口来源气象局移动版网站,json数据格式如下:

 

详细接口分析如下:

 

3)获取全国所有城市代码列表

方法一:XML接口根节点: http://flash.weather.com.cn/wmaps/xml/china.xmlXML接口主要作用是递归获取全国几千个县以上单位的城市代码,如:江苏的XML地址为:http://flash.weather.com.cn/wmaps/xml/shanghai.xml

苏州的XML地址为:http://flash.weather.com.cn/wmaps/xml/jiangsu.xml

上面页面获得太仓city code:101190408合成太仓天气信息地址:http://m.weather.com.cn/data/101190408.html

下面贴一段PHP代码实现的,通过XML接口根节点递归获得全国几千个县以上城市cide code的代码,供参考(可直接在终端下运行):

方法二:一次性获取全国+国外主要城市,8763个城市列表信息。URL:http://mobile.weather.com.cn/js/citylist.xml

 

2. 中国天气SmartWeatherAPI(http://art.weather.com.cn/wzfw/art/weatherapi.shtml)

1)SmartWeatherAPI接口(简称”SWA”接口)是中国气象局面向网络媒体、手机厂商、第三方气象服务机构等用户,通过web方式提供数据气象服务的官方载体。该数据主要包括预警、实况、指数、常规预报(24小时)等数据内容。

2)接口文档:http://download.weather.com.cn/creative/SmartWeatherAPI_Lite_WebAPI_3.0.1.rar

3)使用须申请,详见官网http://art.weather.com.cn/wzfw/art/weatherapi.shtml

 

3. 和风天气

1)数据主要包含:实时天气,3天内天气预报,生活指数,空气质量。

访问流量:4000次/天。

访问频率:200次/分钟。

2)URL:https://free-api.heweather.com/v5/forecast?city=yourcity&key=yourkey

city:城市名称,city可通过城市中英文名称、ID、IP和经纬度进行查询,经纬度查询格式为:经度,纬度。例:city=北京,city=beijing,city=CN101010100,city= 60.194.130.1

key:用户认证key

3)注册页面:https://www.heweather.com/products

4)接口文档:https://www.heweather.com/documents/api/v5

 

4. 心知天气(免费版只提供地级市数据)

1)包含数据:中国地级城市、天气实况、天气预报(3天)、生活指数(基础)。

访问频率限制:400次/小时

2)api详述:https://www.seniverse.com/doc

3)使用需注册。

注册地址:https://www.seniverse.com/signup

 

5. 彩云天气

1)数据包含:实时天气数据(天气、温度、湿度、风向、网速、云量、降雨量、PM2.5、空气质量指数)。

2)API详述:http://wiki.swarma.net/index.php/%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94API/v2

url示例:https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.json

https://api.caiyunapp.com/v2/TAkhjf8d1nlSlspN/121.6544,25.1552/realtime.jsonp?callback=MYCALLBACK

3)使用需注册

产品详单:http://labs.swarma.net/api/caiyun_api_service_price.pdf

注册页面:https://www.caiyunapp.com/dev_center/regist.html

 

6. 中央天气预报

1)url:http://tj.nineton.cn/Heart/index/all 参数如下:   city:城市码   language:固定值 zh-chs   unit:温度单位固定值 c。可不填。也可省略该参数   aqi:固定值 city。可不填。也可省略该参数   alarm:固定值 1。可不填。也可省略该参数   key:秘钥,固定值 78928e706123c1a8f1766f062bc8676b。可不填。也可省略该参数

url 示例:http://tj.nineton.cn/Heart/index/all?city=CHSH000000&language=zh-chs&unit=c&aqi=city&alarm=1&key=78928e706123c1a8f1766f062bc8676b

或 http://tj.nineton.cn/Heart/index/all?city=CHSH000000&language=&unit=&aqi=&alarm=&key=

或 http://tj.nineton.cn/Heart/index/all?city=CHSH000000

json 示例:

 

解析:

 

2)24小时天气预报

url:http://tj.nineton.cn/Heart/index/future24h/

拼接参数:   city:城市   language:语言   key:秘钥,固定值 78928e706123c1a8f1766f062bc8676b。可不填。也可省略该参数

url 示例:http://tj.nineton.cn/Heart/index/future24h/?city=CHSH000000&language=zh-chs&

key=36bdd59658111bc23ff2bf9aaf6e345c

或 http://tj.nineton.cn/Heart/index/future24h/?city=CHSH000000&language=&key=

或 http://tj.nineton.cn/Heart/index/future24h/?city=CHSH000000 json示例

 

解析

 

另 ,code细节

 

 

最新文章