【手机+PC】获取用户地理位置、显示获取城市的天气

一、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;
        $content =file_get_contents("http://api.map.baidu.com/location/ip?ak=6tNCG8mTxXruj6Cmek7heNS5099eDw0F&ip={$getIp}&coor=bd09ll");

        $json = json_decode($content);

$address['city']=$json->{'content'}->{'address_detail'}->{'city'};

第三步:利用下面代码获取相关天气信息
        $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;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值