Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ghean

Carregar dados de um estado

Recommended Posts

Tenho um mapa do brasil que baixei da net. Quando passo o mouse sobre um determinado estado o mesmo fica em destaque.

 

Gostaria que ao passar o mouse sobre os estados seja carregados alguns dados vindo de um XML e ao clicar sobre o estado os dados ficassem fixos.

 

A função para destaque do estado e para carregar os dados do XML eu ja tenho.

 

Estou mesmo com dificuldades em fazer as exibições no hover e fixar no release.

 

Segue o codigo AS.

 

function selecaoestados (estado:MovieClip) 
{
estado._alpha = 0;

estado.onRollOver = function () 
{
	for (var i:Number = 0; i < _level0.siglas.length; i++) 
	{
		if (eval(siglas[i]+'mv') != estado) 
		{
			eval(siglas[i]+'mv')._alpha = 0;
		}
	}
	onEnterFrame = function () 
	{
		estado._alpha += 10;

		if (estado._alpha > 100) 
		{
			onEnterFrame = function(){ null };
		}
	}
}

estado.onRollOut = function () 
{
	onEnterFrame = function () 
	{
		estado._alpha -= 10;
		if (estado._alpha < 0) 
		{
			onEnterFrame = function(){ null };
		}	
	}
}

estado.onRelease = function (): Void{
	//trace(estado._name.substr(0, 2));
}
}

var siglas:Array = ['AC', 'AL', 'AP', 'AM', 'BA', 'CE', 'DF', 'GO', 'ES', 'MA', 'MT', 'MS', 'MG', 'PA', 'PB', 'PR', 'PE', 'PI', 'RJ', 'RN', 'RS', 'RO', 'RR', 'SP', 'SC', 'SE', 'TO'];

for (var i:Number = 0; i < siglas.length; i++) 
{
selecaoestados(eval(siglas[i]+'mv'));
}

function carregaDados(UF)
{
System.useCodepage = false;

var xmlDadosEstados:XML = new XML();

xmlDadosEstados.load("dados.xml");
xmlDadosEstados.ignoreWhite = true;

xmlDadosEstados.onLoad = function(success)
{
	if (success) 
	{                         
		var dadosEstados = xmlDadosEstados.firstChild.childNodes;
		var tamanho      = dadosEstados.length; 

		for (var i = 0; i < tamanho; i++) 
		{
			var oEstados:Object = new Object(); 
			oEstados.estadoId = dadosEstados[i].attributes.id;

			if(oEstados.estadoId == UF)
			{
				oEstados.ufNome                = dadosEstados[i].childNodes[0].childNodes;
				oEstados.numHabitantes         = dadosEstados[i].childNodes[1].childNodes;
				oEstados.numEleitores          = dadosEstados[i].childNodes[2].childNodes;
				oEstados.nomeGovernador        = dadosEstados[i].childNodes[5].childNodes;
				oEstados.numDeputadosFederais  = dadosEstados[i].childNodes[6].childNodes;
				oEstados.numDeputadosEstaduais = dadosEstados[i].childNodes[7].childNodes;
				oEstados.numVereadores         = dadosEstados[i].childNodes[8].childNodes;
				oEstados.numDirecaoEstadual    = dadosEstados[i].childNodes[9].childNodes;

				DadosEstadomv.ufNome.text       			= oEstados.ufNome + ' - ' + oEstados.estadoId;
				DadosEstadomv.numHabitantes.text 			= oEstados.numHabitantes;
				DadosEstadomv.numEleitores.text  			= oEstados.numEleitores;
				DadosEstadomv.nomeGovernador.text 			= oEstados.nomeGovernador;
				DadosEstadomv.numDeputadosFederais.text 	= oEstados.numDeputadosFederais;
				DadosEstadomv.numDeputadosEstaduais.text 	= oEstados.numDeputadosEstaduais;
				DadosEstadomv.numVereadores.text 			= oEstados.numVereadores;
				DadosEstadomv.numDirecaoEstadual.text 		= oEstados.numDirecaoEstadual;
			}
		}
	} 
	else 
	{
		trace("Erro ao Carregar o XML");
	}
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito ser mais interessante apenas destacar o estado no "RollOver" e carregar os dados somente no "Release", para isso, chame a função de carregar os dados dentro da função "onRelease".

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.