1.条件
(1)淘宝提供的天气API接口:http://ip.taobao.com/service/getIpInfo.php?ip=" + ClientIp + "→ClientIp这里是填写的你获取到的客户端IP地址。//当然还有其他天气接口,详细的就靠自己去查找了。
(2)CityCode.Json.txt 这个文本内容是:
{
"城市代码": [
{
"省": "北京",
"市": [
{
"市名": "北京",
"编码": "101010100"
},
{
"市名": "朝阳",
"编码": "101010300"
}.....//跟前面如此类推
]
}
]
}//这个文本大家可以到百度那里去搜索下载一下。
(3)http://m.weather.com.cn/data/{0}.html→{0}这个中国天气API接口是填写你获取到地区对应的编码,例如北京:101010100
(4)我们还有需要天气显示的图片,图片我们到 hao123.com导航那里这个图片链接http://s0.hao123img.com/index/images/weather/icon/a1.png 这个图片,只要把1这个数字从0改到31就可以获取它32个天气图标了。
好了,所有条件都列出来了,现在我们就可以动手做这个自定义天气功能了。
2.
(1)首先我们先定义一个天气接口WeatherInterface:
2 {
3 #region 接口方法
4 public interface WeatherInterface
5 {
6 // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“WeatherInterface”。
7 //[ServiceContract(SessionMode = SessionMode.Allowed)]
8 [FaultContract(typeof(Exception))]
9 [OperationContract]
10 /// <summary>
11 /// 根据城市名称返回城市天气情况
12 /// 城市名称可以有多种形式,如:
13 /// 深圳
14 /// 深圳市
15 /// 广东深圳
16 /// 广东深圳市
17 /// 广东省深圳市
18 /// </summary>
19 /// <param name="cityName">城市名称</param>
20 /// <returns></returns>
21 WeatherInformation GetWeatherByCityName(string cityName);
22
23 [FaultContract(typeof(Exception))]
24 [OperationContract]
25 /// <summary>
26 /// 获取此服务支持的所有城市名称
27 /// </summary>
28 /// <returns></returns>
29 List<string> GetSupportCityName();
30
31 [OperationContract(Name = "GetCityName")]
32 [FaultContract(typeof(Exception))]
33 /// <summary>
34 /// 根据IP返回IP所在城市
35 /// </summary>
36 /// <returns></returns>
37 string GetCityName();
38 // TODO: 在此添加您的服务操作
39 }
40
没有评论:
发表评论