zoukankan      html  css  js  c++  java
  • 一个有关ajax去获取天气预报然后用echarts展现出来的小demo

    这个是我自己第一次尝试做的,虽然很粗糙,但是可以给需要的人看一下,初学的人也可以去了解一下,

    先上一个效果图:

          

    然后附上代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>天气温度折线图-echarts</title>
        <script src="echarts.js" type="text/javascript"></script>
        <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
    </head>
    <body>
         <div id="main" style=" 600px;height: 400px;"></div>
         <script type="text/javascript">
             var myChart = echarts.init(document.getElementById('main'));
             // 显示标题,图例和空的坐标轴
             myChart.setOption({
                 title: {
                     text: '重庆未来七日温度'
                 },
                 tooltip: {},
                 legend: {
                     data:['最高气温','最低气温']
                 },
                 xAxis: {
                     data: []
                 },
                 yAxis: {
                     type:'value',
                     axisLabel: {
                         formatter: '{value} °C'
                     }
                 },
                 series: [{
                     name: '最高气温',
                     type: 'line',
                     data: [],
                     markPoint: {
                         data: [
                             {type: 'max', name: '最大值'},
                             {type: 'min', name: '最小值'}
                         ]
                     },
                     markLine: {
                         data: [
                             {type: 'average', name: '平均值'}
                         ]
                     }
                 },
                     {
                         name:'最低气温',
                         type:'line',
                         data:[],
                         markPoint: {
                             data: [
                                 {name: '周最低', value: -2, xAxis: 1, yAxis: -1.5}
                             ]
                         },
                         markLine: {
                             data: [
                                 {type: 'average', name: '平均值'},
                                 [{
                                     symbol: 'none',
                                     x: '90%',
                                     yAxis: 'max'
                                 }, {
                                     symbol: 'circle',
                                     label: {
                                         normal: {
                                             position: 'start',
                                             formatter: '最大值'
                                         }
                                     },
                                     type: 'max',
                                     name: '最高点'
                                 }]
                             ]
                         }
                     }
                 ]
             });
    
             // 异步加载数据
             var city = "重庆";
             // $citycode=urlencode(city);
             url='http://v.juhe.cn/weather/index?format=2&cityname='+'重庆'+'&key=bce44a95809a658b927c0722f2fbbac4';
    
             $.ajax({
                  url:url,
                  type:"get",
                  async:false,
                  dataType:"jsonp",
                  data:{location:city},
                 success:function (wddata) {
                     var wdlist=wddata.result.future;
                     console.log(wddata);
                     var wdmin=[];
                     var wdmax=[];
                     var xqday=[];
                     for(var i=0;i<wdlist.length;i++){
                         var wd=wddata.result.future[i].temperature;
                         var xq=wddata.result.future[i].week;
                         xqday.push(xq);
                         var arr=wd.split("~");
                         var min=arr[0].split("℃")[0];
                         var max=arr[1].split("℃")[0];
                         console.log(min);
                         console.log(max);
                         wdmin.push(min);
                         wdmax.push(max);
                     }
                     console.log(wdmin);
                     console.log(wdmax);
    
                     // 填入数据
                     myChart.setOption({
                         xAxis: {
                             data:xqday
                         },
                         series: [{
                             // 根据名字对应到相应的系列
                             name: '最高气温',
                             data: wdmax
                         },{
                             name: '最低气温',
                             data: wdmin
                         }]
                     });
                 }
             })
         </script>
    
    </body>
    </html>
    

      

       这里的api请求的接口是我在聚合数据申请的免费测试的接口,总共的次数有500次,我写的时候是刷新一次就会加载一次,就会去请求一次。

    现在剩余还有400次左右,反正是免费的,所以大家可以自己注册然后自己查这个api的文档来自己试一下。

     这里是api文档:

     大家有兴趣的可以去了解一下。

  • 相关阅读:
    Delphi中Format与FormatDateTime函数详解
    常用的日期时间函数
    100m和1000m网线的常见制作方法
    Delphi cxGrid –--> RecordIndex out of Range
    局域网共享需要密码
    提高AdoQuery的速度
    string literals may have at most 255 elements
    001-project基本使用
    Java-idea-创建maven项目,部署项目,部署服务器,简单测试
    003-spring结合java类调用quartz
  • 原文地址:https://www.cnblogs.com/justyouadmin/p/9591743.html
Copyright © 2011-2022 走看看