【手機+PC】獲取使用者地理位置、顯示獲取城市的天氣
阿新 • • 發佈:2019-02-02
一、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;