在最近的一个项目中,遇到了实时天气显示的问题。由高德地图开放API解决;这个想法被抛在脑后。它被封装成一个函数。可以直接使用。但是最好在使用前先测试一下想一想:首先,通过调用高德地图IP定位的API;http://lbs.amap.com/api/webservice/guide/api/ipconfig获取的IP定位信息有adcode;对城市地理信息编号进行分组),然后调用高德天气查询的Api;http://lbs.amap.com/api/webservice/guide/api/weatherinfo/结合之前IP定位得到的adcode和你的key;本课程使用步骤在官网申请web秘钥高德。然后实例化一个对象。调用方法信息。填写你申请的秘钥作为该方法的参数,返回值为你当前IP所在位置的天气;ipInfo($key);//调用方法获取Ip定位信息;$city=$ipInfo->广告代码;//获取广告代码;$weatherInfo=$this->weatherInfo($key,$city);//已获取天气信息;返回$weatherInfo;}//定位信息publicfunctionipInfo($key){$ch=curl_init("http://restapi.amap.com/v3/ip?key=".$key);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);//请求的数据不会直接发送到浏览器$result=curl_exec($ch);//执行请求并直接发送给浏览器//$city=json_decode($result)->adcode;$info=json_decode($result);返回$信息;}//天气信息publicfunctionweatherInfo($key,$city){$ch=curl_init("http://restapi.amap.com/v3/weather/weatherInfo?city=".$city."&key=".$键);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);$result=curl_exec($ch);$info=json_decode($result)->lives[0];返回$信息;}}结果如图注:获取到的是对象
