Echarts é semelhante a como usar a seleção de assento de voo para monitorar o status do dispositivo em tempo real.

Echarts é semelhante a como usar a seleção de assento de voo para monitorar o status do dispositivo em tempo real:


Descrição do Problema:

Echart não é claro o suficiente sobre os itens de configuração de seu mapa. Como devo configurar o mapa se quiser usar minha própria imagem Svg como mapa no projeto? Este é o problema que encontrei e a solução é a seguinte;

Insira a descrição da imagem aqui
$.get(ROOT_PATH + '/data/asset/geo/flight-seats.svg', function (svg) { echarts.registerMap('flight-seats', { svg: svg });
Esta é a imagem padrão e o código de registro fornecido pelo echart. Uma pequena explicação mostra que ele obteve um SVG e depois registrou o SVG com o nome Flight-seats.


solução:

1. Primeiro temos que registrar nós mesmos um mapa.
Aqui está o que eu faço: primeiro, pegue o código da imagem SVG e use `` para agrupar o código SVG e defini-lo como uma variável. Conforme mostrado abaixo
Insira a descrição da imagem aqui
, cadastre-se aqui. O nome anterior deve corresponder ao item de configuração abaixo.
Insira a descrição da imagem aqui
2. Modifique o atributo name do ponto que precisa ser configurado no código SVG (o dispositivo ou o local onde você precisa alterar o status) .
Insira a descrição da imagem aquiO g aqui é o código do meu agrupamento de pontos. Alterei o atributo name do ponto dele aqui para PO ( nota: o nome aqui deve ser um valor único ), para que ele tenha um nome único correspondente, e quando ele tiver nome Quando este atributo é definido, ele se torna um evento clicável no echart.

3. Configurar opções: Para opções de configuração do mapa, consulte este artigo.

Este artigo é um artigo original do blogueiro CSDN "Bring My Plaid Shirt" e segue o acordo de direitos autorais CC 4.0 BY-SA. Anexe o link da fonte original e esta declaração ao reimprimir.
Link original: https://blog.csdn.net/github_35631540/article/details/116300038

4. Modifique o atributo regiões na configuração.
O exemplo do echart fornece uma função makeTakenRegions . Na verdade, sua essência é configurar separadamente os atributos de estilo para os nomes correspondentes a cada ponto. código mostrado abaixo

 function makeTakenRegions(takenSeatNames, bName) {
    
     	
 //传入配置项regions的函数,takenSeatNames,bNanme都是包含着上述点名字的数组,例如takenSeatNames=[PO,AO]
        var regions = [];
        for (var i = 0; i < takenSeatNames.length; i++) {
    
    
          regions.push({
    
    		//最后返回regions这个数组,传入每个名字的配置项,每个名字都是一个对象
            name: takenSeatNames[i],	//传入的名字
            silent: true,
            itemStyle: {
    
    
              color: "#bf0e08",		//初始颜色
            },
            emphasis: {
    
    
              itemStyle: {
    
    	//悬浮的样式
                borderColor: "#aaa",
                borderWidth: 1,
                color: "#bf0e08",
              },
            },
            select: {
    
    	//选中的样式
              itemStyle: {
    
    
                color: "#bf0e08",
              },
            },
          });
        }
        for (var i = 0; i < bName.length; i++) {
    
    	//可以有不同状态,takenSeatNames我用红色,这一类我用白色
          regions.push({
    
    
            name: preAlarmName[i],
            silent: true,
            itemStyle: {
    
    
              color: "#FFDB44",
            },
            emphasis: {
    
    
              itemStyle: {
    
    
                borderColor: "#aaa",
                borderWidth: 1,
                color: "#FFDB44",
              },
            },
            select: {
    
    
              itemStyle: {
    
    
                color: "#FFDB44",
              },
            },
          });
        }
        return regions;
      }

Contanto que existam valores em takeSeatNames e bName, o estado do estilo do ponto pode ser alterado. O efeito é o seguinte:
Insira a descrição da imagem aqui

Assim, podemos adicionar um cronômetro para solicitar o status de vários dispositivos ou produtos do backend em uma forma de votação (não sei se o websocket pode ser usado aqui. Você também pode tentar, sem votação. operado).

5. Além de alterar dinamicamente o status do produto, também podemos adicionar a funcionalidade de clique.

Echart fornece um método myChart.on("geoselectchanged", function (params) {})
, que na verdade é o evento de clique de cada ponto. Params são todos os pontos que você está selecionado no momento. Pode ser um ou vários, dependendo se o modo de seleção escrito em sua Opção é Único ou Múltiplo. Assim, quando obtemos o nome dos parâmetros, podemos operar sobre ele. Podemos passá-lo como parâmetro para o backend para obter informações mais detalhadas em tempo real sobre o produto.

Acho que você gosta

Origin blog.csdn.net/m0_65035567/article/details/121795318
Recomendado
Clasificación