随机动态添加城市

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="button" value="添加新城市" id="city" />
    <ul id="ul1">
        <!-- <li>北京</li>
        <li>天津</li>
        <li>南京</li> -->
    </ul>
    <script>
        //         2.实现动态添加城市的功能,要求如下:
        // 1)城市名称要求放在数据列表中,在进行渲染
        // 2)点击添加新城市,在城市列表中会添加一个新的城市(城市名可以固定 可以随机生成)

        let list = ['北京', '天津', '南京']

        let ul = document.querySelector('ul')

        fn();


        let citys = ['沈阳', '长春', '上海', '南京', '武汉', '广州', '重庆', '成都', '西安']

        let bt = document.querySelector('#city')

        bt.addEventListener('click', function () {
            list.push(
                citys[getRandom(8, 1)]
            )
            render();
        })


        // 获取随机数
        function getRandom(max, min) {
            return Math.floor(Math.random() * (max - min + 1) + min)
        }

        // 渲染最新页面
        function render() {
            ul.innerHTML = list.map(function (i) {
                return `
            <li>${i}</li>
            `
            }).join('')
        }

    </script>
</body>

</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Echarts 是一个非常流行的数据可视化工具库,它支持在地图上添加点位。在 Echarts 中,可以使用 geo 组件来展示地图,并通过 series 中的 data 属性来添加点位数据。如果需要动态添加点位,可以通过定时器或者事件触发来更新 data 数据,从而实现动态添加点位的效果。 具体实现步骤如下: 1. 使用 Echarts 的 geo 组件加载地图。 2. 在 series 中添加 scatter 类型的数据项,设置 symbol、symbolSize 和 coordinateSystem 等属性。 3. 通过定时器或者事件触发来更新 data 属性,从而实现动态添加点位的效果。 下面是一个简单的示例代码,以帮助您更好地理解如何在 Echarts 中动态添加点位: ``` // 初始化 Echarts 实例 var myChart = echarts.init(document.getElementById('myChart')); // 设置地图参数 var geoCoordMap = { '北京': [116.40, 39.90], '上海': [121.47, 31.23], // 更多城市坐标 }; var convertData = function (data) { var res = []; for (var i = 0; i < data.length; i++) { var geoCoord = geoCoordMap[data[i].name]; if (geoCoord) { res.push({ name: data[i].name, value: geoCoord.concat(data[i].value) }); } } return res; }; // 设置初始数据 var option = { tooltip: {}, geo: { map: 'china', roam: true, label: { emphasis: { show: false } }, itemStyle: { normal: { areaColor: '#004981', borderColor: '#eee' }, emphasis: { areaColor: '#003466' } } }, series: [ { name: '点位', type: 'scatter', coordinateSystem: 'geo', data: convertData([ {name: '北京', value: 100}, {name: '上海', value: 200}, // 更多数据 ]), symbolSize: function (val) { return val / 10; }, label: { normal: { formatter: '{b}', position: 'right', show: false }, emphasis: { show: true } }, itemStyle: { normal: { color: '#ddb926' } } } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); // 定时器更新数据 setInterval(function () { // 更新数据 option.series.data = convertData([ {name: '北京', value: Math.random() * 100}, {name: '上海', value: Math.random() * 200}, // 更多随机数据 ]); // 重新设置 option myChart.setOption(option); }, 5000); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值