先上效果图,看图说话
废话少说,直接撸教程
一、利用百度地图api自动获取当前ip所在城市名
1.登录百度开放平台,在控制台创建我的应用
2.创建成功后,复制应用AK键
3.在项目页面引入百度地图片api
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的应用AK"></script>
4.编写JQ代码获取当前ip所在城市名
1 2 3 4 5 6 7 8 9 10 11 12 13
| $(function () {
var myCity = new BMap.LocalCity(); var cityName = ""; myCity.get(function(data){ cityName = data.name; if(cityName.indexOf("市") != -1){ cityName = cityName.substr(0,cityName.indexOf("市")); } getWeather(cityName); });
})
|
二、通过WebService调用天气预报接口
1.Maven导入WebService相关依赖
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <!-- WebService相关依赖--> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>javax.xml.rpc</groupId> <artifactId>javax.xml.rpc-api</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>commons-discovery</groupId> <artifactId>commons-discovery</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>axis</groupId> <artifactId>axis-wsdl4j</artifactId> <version>1.5.1</version> </dependency>
|
2.根据天气预报接口wsdl文件生成客户端代码
wsdl文件地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl
将wsdl文件保存至项目
对wsdl文件进行编译后,利用IDEA工具自动生成客户端代码集
自动生成以下文件
(如果自动生成不了,请按以下操作尝试几次)
三、前端AJAX请求调用本地项目天气预报客户端数据
1.后台调用客户端天气预报方法
2.字符串数组weatherInfo封装了全部天气预报信息,用户可定制自已需要的天气信息
ps:虽然使用是免费的,但是每天有使用次数限制
唉,果然世界上没有免费的午餐滴