Ah...
Eu tinha mesmo um palpite que não era tão fácil...
Eu uso esta function aqui pra fazer isso:

public static function 
transformCoordinates(matrixFrom:Matrix,origin:Point):Point{
            var affineTransform:Matrix;
                
            affineTransform = new Matrix(0,0,0,0,0,0);    
            affineTransform.a=matrixFrom.a;
            affineTransform.d=matrixFrom.d;
            affineTransform.tx=matrixFrom.tx;
            affineTransform.ty=matrixFrom.ty;
                
            var ptA:Point= affineTransform.transformPoint(origin);
            
            return ptA;
        }


Aqui vai um exemplo de como usar:

var givenX:Number=20; //O que veio do banco
var givenY:Number=20; //O que veio do banco
var tempScale:Number=0.5; //A razão entre o tamanho original e o teu visual no 
Flex.
var suaEscalaX:Number=1; //Isso se tu quiser usar essa função pra fazer zoom. 
Daí vais poder passar uma nova escala
var suaEscalaY:Number=1;

var origin:Point=new Point(givenX*tempScale, givenY*tempScale;
        
var pt:Point= PointTransformation.transformCoordinates(new Matrix(suaEscalaX,
                                                                            0,
                                                                            0,
                                                                            
suaEscalaY,
                                                                            
seucontainer.x,
                                                                            
seucontainer.y),
                                                                            
origin);

É mais ou menos isso. Se não funcionar, esse é o caminho que eu uso.
Fora disso não consigo ajudar.
Boa sorte :0)
 
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br



> Date: Fri, 10 Oct 2008 06:28:59 -0700
> Subject: [flexdev] Re: Conversão de sistemas de coordenadas
> From: [EMAIL PROTECTED]
> To: [email protected]
> 
> 
> Não é bem assim. O String é só um exemplo de como é feito no plugin
> SVG.
> O problema é que no flex vc só pode desenhar numa área que vai do
> ponto (0,0) a (width, height). Mas as coordenadas do mapa que eu
> recebo do banco estão numa área e escala diferentes do viewbox do
> flex.
> O que eu quero saber é se no flex é possível configurar a exibição de
> um canvas para a área que representa o mapa sem precisar fazer
> conversão de pontos. Por exemplo: se no banco de dados eu recebo a
> latitude -40.243  e longitude -5.9971 eu preciso converter isso para
> (252, 45) por exemplo, para poder visualizá-lo no flex. O problema é
> que são muitos pontos e isso está causando perda de desempenho.
> Gostaria de não precisar fazer essa conversão, pois eu já trabalhei
> com SVG e isso era feito automaticamente.
> 
> On 10 out, 10:06, gabriela perry <[EMAIL PROTECTED]> wrote:
> > Peraí: tu quer passar uma String como "-39.1772 5.8539 4.636 2.6862" e usar 
> > para posicionar um objeto?
> > Direto não vai...
> > Vais ter que repartir a String, sei lá, num Array, e usar isso pra passar 
> > os valores pra x, y, width e height
> >
> > Mas é isso a tua "Conversão de sistemas de coordenadas"?
> > Achei que precissases converter um sistema em outro...
> > Que bom que é só isso :0)
> >
> > Gabriela Trindade Perry -http://www.gabriela.trindade.nom.br
> >
> >
> >
> > > Date: Fri, 10 Oct 2008 05:39:37 -0700
> > > Subject: [flexdev] Conversão de sistemas de coordenadas
> > > From: [EMAIL PROTECTED]
> > > To: [email protected]
> >
> > > Olá pessoal,
> >
> > > eu sou novo no flex e queria pedir a ajuda de vocês pra o seguinte
> > > problema:
> > > quero pegar as coordenadas espaciais de um banco de dados e montar o
> > > mapa em um cliente flex. Porém essas coordenadas são negativas. Teria
> > > como eu montar o mapa sem precisar converter cada ponto que eu recebo
> > > do banco de dados?
> >
> > > No SVG isso é simples, bastando apenas configurar o viewBox que irá
> > > exibir o mapa. Por exemplo viewBox="-39.1772 5.8539 4.636 2.6862",
> > > onde -39.17 e 5.85 são as coordenadas do ponto superior esquerdo, os
> > > outros são respectivamente largura e altura.
> >
> > > Teria como fazer algo semelhante no flex?
> >
> > _________________________________________________________________
> > Invite your mail contacts to join your friends list with Windows Live 
> > Spaces. It's 
> > easy!http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friend...
> > 

_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a