一、pc可以直接用这个网站的天气
www.tianqi.com/dingzhi
二、上面的链接地址的天气预报只支持pc站,手机4G会不显示 天气的相关信息会丢掉
1、手机端则利用下面的代码
第一步【正确】利用api定位 确定用户经纬度 再根据api 利用经纬度 获取用户地理位置
链接:http://pan.baidu.com/s/1dE1IiAH密码:4zru
第一步:获取ip [这种方法获取的不准确 慎用]
function getIP()
{
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
第二步:利用百度的api获取当前城市
$getIp=$realip;
$address['city']=$json->{'content'}->{'address_detail'}->{'city'}; 第三步:利用下面代码获取相关天气信息$content =file_get_contents("http://api.map.baidu.com/location/ip?ak=6tNCG8mTxXruj6Cmek7heNS5099eDw0F&ip={$getIp}&coor=bd09ll"); $json = json_decode($content);
$data =file_get_contents('http://www.sojson.com/open/api/weather/json.shtml?city=哈尔滨市'); $obj=json_decode($data); $city= $obj->city;//北京 1 $a=$obj->data->forecast; $quality=$obj->data->quality; //空气质量 4 $a1=trim(mb_substr($a[1]->high,2,-1,'utf-8'));//最高气温 3 $b1=trim(mb_substr($a[1]->low,2,-1,'utf-8'));//最低气温 $wendu=$a1."℃"."~".$b1."℃"; $type=$a[1]->type;//天气 2 dump($obj); die;