PHP请求天气预报接口,并且将最高温最低温展示到折线图
时间:2019-03-19
本文章向大家介绍PHP请求天气预报接口,并且将最高温最低温展示到折线图,主要包括PHP请求天气预报接口,并且将最高温最低温展示到折线图使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
备注:折线图使用的是 https://www.hcharts.cn/docs/start-helloworld
php代码:
<?php namespace app\index\controller; use think\Controller; use think\Db; class Exam extends Controller{ //页面展示 public function index(){ return view(); } //请求天气预报 public function weather_do(){ $city = input('get.city'); $redis = new \Redis();//实例化redis $redis->pconnect('127.0.0.1','6379');//连接redis $data = $redis->get('weather_'.$city);//获取天气的值 if($data){ //有值 echo $data; }else{ //没有值 //接收传值 $url = "http://api.map.baidu.com/telematics/v2/weather?location=".$city."&output=json&ak=1a3cde429f38434f1811a75e1a90310c"; $data = file_get_contents($url); $redis->set('weather',$data); echo $data; } } }
html代码:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <input type="text" name="city" id="city" placeholder="请输入城市"/> <!-- 图表容器 DOM --> <div id="container" style="width: 600px;height:400px;"></div> <!-- 引入 highcharts.js --> <script src="http://cdn.hcharts.cn/highcharts/highcharts.js"></script> <script src="__STATIC__/jq.js"></script> <script> //绑定失去焦点事件 $("#city").blur(function(){ //获取文本框的值 var city = $(this).val(); if(city==""){ alert("城市不能为空");return; } if(city.length>30){ alert("长度不能大于30");return; } var reg = /^[\d|a-z|\u4e00-\u9fa5]+$/; if(reg.test(city)){ //去后台调取接口 $.ajax({ url:"{:url('Exam/weather_do')}", type:"get", dataType:"json", data:{ city:city }, success:function(data){ var x = []; var y_max = [];//最高温度 var y_min = [];//最低温度 //循环拿到date数据,放进一个数组里面 $.each(data.results,function(k,v){ x.push(v.date); //Y轴需要的数据以摄氏度分割 var tem = v.temperature; var arr = tem.split("℃"); var arr2 = arr[0].split("~"); y_max.push(parseInt($.trim(arr2[0]))); y_min.push(parseInt($.trim(arr2[1]))); }) var options = { title: { text: '温度变化范围' // 标题 }, xAxis: { categories: x // x 轴分类 }, yAxis: { title: { text: '温度变化范围' // y 轴标题 } }, series: [{ // 数据列 name: '最高气温', // 数据列名 data: y_max // 数据 }, { name: '最低气温', data: y_min }] };//配置 var chart = Highcharts.chart('container', options);//初始化 } }); }else{ alert("正则匹配失败");return; } }); </script> </body> </html>
- Dora.Interception, 为.NET Core度身打造的AOP框架[4]:演示几个典型应用
- Dora.Interception, 为.NET Core度身打造的AOP框架[3]:Interceptor的注册
- Dora.Interception, 为.NET Core度身打造的AOP框架:不一样的Interceptor定义方式
- Dora.Interception,为.NET Core度身打造的AOP框架:全新的版本
- ASP.NET Core的路由[4]:来认识一下实现路由的RouterMiddleware中间件
- 浅谈 Java 并发编程中的若干核心技术
- ASP.NET Core的路由[3]:Router的创建者——RouteBuilder
- ASP.NET Core的路由[2]:路由系统的核心对象——Router
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
- 学习ASP.NET Core, 怎能不了解请求处理管道[6]: 管道是如何随着WebHost的开启被构建出来的?
- 学习ASP.NET Core, 怎能不了解请求处理管道[5]: 中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter
- 学习ASP.NET Core, 怎能不了解请求处理管道[4]: 应用的入口——Startup
- 学习ASP.NET Core, 怎能不了解请求处理管道[3]: 自定义一个服务器感受一下管道是如何监听、接收和响应请求的
- .NET Core多平台开发体验[4]: Docker
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC