大屏可视化布局(地图颜色--高德)

布局及引用

import React, { useEffect, useState } from 'react'
import './index.less'
import { history } from 'umi'


import AMapLoader from "@amap/amap-jsapi-loader";
// import {Button} from 'andt'
export default function Home() {

  const [time, settime] = useState('')
  let map = null;
  useEffect(() => {
    AMapLoader.load({
      key: "9bc4b58f70634b73e3e7fc5f8d0c0e5c", // 申请好的Web端开发者Key,首次调用 load 时必填
      version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
      plugins: [], // 需要使用的的插件列表,如比例尺'AMap.Scale'})
      .then((AMap) => {

        map = new AMap.Map("home", {
          // 设置地图容器id
          mapStyle: "amap://styles/darkblue",//变颜色

          viewMode: "3D", // 是否为3D地图模式
          zoom: 17, // 初始化地图级别
          center: [115.485406, 38.814064], // 初始化地图中心点位置
        });
      })
      .catch((e) => {
        console.log(e);
      });

    return () => {
      map?.destroy();
    };
  }, []);
  const gettime = () => {
    let Da = new Date()
    let nn = Da.getFullYear()
    let yy = Da.getMonth() + 1
    let dd = Da.getDate()
    let shi = Da.getHours()
    let ff = Da.getMinutes()
    let ss = Da.getSeconds()
    let getdate = nn + '-' + yy + '-' + dd + ':' + shi + ':' + ff + ':' + ss
    settime(getdate)
  }
  useEffect(() => {
    setInterval(() => {
      gettime()
    }, 1000)
  })
  return (
    <div id='home'>
      <div className="top">
        <div className="top-img">
          <div className="time">
            <h2>            {time}
            </h2>
          </div>
          <h1>智慧照明综合管理平台</h1>
          <div className="setting">
            <div className="botton" >
              进入管理系统
            </div>
            <div className="setting-img">

            </div>
          </div>
        </div>
      </div>
      <div className="left">
        <div className="content-item">
          <div className="inner">
            <div className="content-left">
              <h3>设备状态</h3>
            </div>
          </div>
        </div>
        <div className="content-item">
          <h3>实时功耗</h3>

        </div>
        <div className="content-item">


        </div>
      </div>
      <div className="right">
        <div className="content-item">
          <h3>KPI</h3>
        </div>
        <div className="content-item">
          <h3>区域分布</h3>
        </div>
        <div className="content-item">
          <h3>报警信息</h3>

        </div>
      </div>

    </div>
  )
}

样式如下(less):

html{
  font-size: 100px;
}
#home{
  position: relative;
  color: #fff;
  width: 100%;
  height: 100vh;
  padding: 0px;
  margin: 0px;
  z-index: 0;
  .top{
      position: absolute;
      z-index: 1;
      width: 100%;
      height: calc(100% - 92%);
      .top-img{
          width: 100%;
          height: 100%;
          background-image: url(~@/images/top_title.8d58eda.png);
          background-size: cover; /* 使背景图片充满整个容器 */
          display: flex;
          justify-content: space-around;
          align-items: center;
          text-align: center;
          .time{
              width: calc(100% - 65%);
              h2{
                  font-size: 16px;
                  color: #fff;
              }
          }
          h1{
              font-size: 22px;
              font-weight: 600;
              color: #fff;
              width: calc(100% - 70%);
              height: calc(100% - 40%);
          }
          .setting{
              width: calc(100% - 65%);
              display: flex;
              justify-content: space-around;
              align-items:start;
              .botton{
                  padding: 1.3% 2.5% ;
                  border-radius: 10px;
                  background-color: skyblue;
                  width: calc(100% - 70%);
              }
              .setting-img{
                  padding: 1.5% 2.5% ;
                  background-image: url(~@/images/xit_nav_icon.18f5906.png);
                  background-repeat: no-repeat;
                  background-size: cover;
                  background-position: center;
              }

          }
       
             
             
            
      }
  }
  .left{
      position: absolute;
      top: 8%;
      left: 0%;
      z-index: 1;
      width: calc(100% - 70%);
      height: 90%;
      .content-item{
          width: 70%;
          // margin-top: 10px;
          height: calc(100% / 3);
          margin: 0 auto;
          background-image: url(~@/images/content_bj.a8f4280.png);
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center;
          .inner{
              h3{
                  color: #2b8fb4;
              }
          }
      }
  }
  .right{
      position: absolute;
      top: 8%;
      right: 0%;
      z-index: 1;
      width: calc(100% - 70%);
      height: 90%;

      .content-item{
          
          width: 70%;

          height: calc(100% / 3);
          margin: 0 auto;
          // border: 25px #d2c8c8 solid;
          background-image: url(~@/images/content_bj.a8f4280.png);
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center;
         
      }
  }

  
}
.content-item{
  h3{
      padding: 10px;
      color: #2b8fb4;
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WPF(Windows Presentation Foundation)是一种用于创建现代化、可视化和交互式用户界面的技术。在开发可视化大屏地图时,WPF提供了强大的功能和灵活的布局选项。 首先,在WPF中可以使用XAML语言设计界面布局。通过在XAML中定义界面元素和属性,可以实现高度可定制的大屏地图布局。XAML还支持数据绑定,可以将地图相关的数据与实时数据源进行绑定,实现数据的动态更新。 其次,WPF提供了丰富的图形和动画功能,可以实现各种地图效果。通过使用WPF的绘图功能,可以创建地图图层、地理对象以及与之相关的样式和符号。可以使用WPF的动画和过渡效果,实现地图元素的平滑过渡、缩放和旋转等交互效果,提升用户的视觉体验。 此外,WPF还提供了强大的用户交互功能。通过WPF的输入事件处理机制,可以捕获用户的操作,实现拖拽、缩放、选择等交互操作。可以使用WPF的命令机制,实现自定义的地图操作命令,方便用户进行地图操作。 最后,WPF还提供了数据可视化的功能,可以将地图相关的数据以图表、热力图等形式进行可视化展示。通过使用WPF的数据绑定和模板功能,可以实现对数据的动态呈现和样式自定义。 综上所述,WPF是一种非常适合用于实现可视化大屏地图的技术。它提供了丰富的布局、图形、动画、交互和数据可视化功能,可以满足地图应用的各种需求,并提供极佳的用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No DeBug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值