@fabiophx A dúvida é do outro Fabio e não minha :)

Fabio,
No caso, você tem que passar o evento como parâmetro, como disse o outro
Fabio :)
No seu caso, você pode fazer assim:

private function addMarker(localizacao:Object):void
 {
    var marker:Marker=new Marker(localizacao.point);
    map.addOverlay(marker);
    marker.addEventListener(MapMouseEvent.CLICK, teste, false, 0);
}

private function teste(e:MapMouseEvent):void
{
    Alert.show("TESTE");
}

A pergunta então é: tem como passar outro parâmetro além do evento pra
função listener?
Confesso que não sei, nunca vi e num to achando no docs. Alguém ai sabe se é
possível?
Porque no caso aí do uso do mapa, quando a pessoa clicar em cima do marker,
só ocorre o event MapMouseEvent.CLICK.
Como ele iria passar os demais parâmetros nesse esquema ai onde só foi
definido o listener?


2009/12/8 fabiophx <[email protected]>

>
> Rodrigo,
>    Qd se usa addEventListener vc só informa a função, e esta função
> prioritamente terá q ter um parâmetro q é o evento q o Flex irá
> passar.
>    Via MXML vc chama a função como outra qq ex.:
>          <mx:Button click="funcao(1, 'parm2');" />
>          <mx:Button click="funcao2();" />
>
> []s
> Fabio da Silva
> http://fabiophx.blogspot.com/
>
> On 8 dez, 12:04, Fabio Ebner <[email protected]> wrote:
> > Rodrigo com a MapMousEvent.CLICK funcionou, porem quero chamar uma funcao
> > que eu passo um parametro??? e possivel?? eu tentei trocar fazer a
> funcao,
> >
> > private function teste(nome:String):void{
> >
> > }
> >
> > e chamei assim:
> >
> > *var* marker:Marker=*new* Marker(localizacao.point);
> >
> > *this*.map.addOverlay(marker);
> >
> > marker.addEventListener(MapMouseEvent.CLICK, teste(localizacao.address));
> >
> > porem so de adicionar a Mark ele ja executa a funcao, e se eu clicar
> sobre a
> > marca ele da erro:
> >
> > TypeError: Error #1006: value is not a function.
> >  at <anonymous>()
> >  at flash.events::EventDispatcher/dispatchEventFunction()
> >  at flash.events::EventDispatcher/dispatchEvent()
> >  at com.google.maps.overlays::Marker/dispatchMarkerMouseEvent()
> >  at com.google.maps.overlays::Marker/onOverlayClick()
> >
> > valeu
> >
> > 2009/12/7 Rodrigo Pandini <[email protected]>
> >
> > > Fábio,
> > > Dá uma olhada na documentação:
> >
> > >http://code.google.com/intl/pt-BR/apis/maps/documentation/flash/refer.
> ..
> > > Se você for em propriedades do MarkerOptions, vai ver que tem uma
> > > propriedade chamada *clickable*.
> > > Em algum momento você alterou essa propriedade antes?
> > > Porque o estranho é que o default dela é true.
> > > Se não for isso, talvez (quase certo) que seja o tipo de evento que
> você tá
> > > usando.
> > > Repare que tem o *MapMouseEvent.CLICK*
> >
> > >http://code.google.com/intl/pt-BR/apis/maps/documentation/flash/refer.
> ..
> > > Tente trocar o MouseEvent.CLICK que você está usando por
> > > MapMouseEvent.CLICK pra ver se dá certo ai.
> > > Att.
> >
> > > 2009/12/7 Fabio Ebner <[email protected]>
> >
> > >> Entao nao tem esse EventMaker, estou usando a api do googleMaps.
> >
> > >> 2009/12/7 J.C.Ködel <[email protected]>
> >
> > >>  Tente usar o EventMark:
> >
> > >>>  var marker:EventMarker = new EventMarker(trafficEvent, icon);
> >
> > >>>                     marker.addEventListener(MouseEvent.CLICK,
> onMarkerClick);
> >
> > >>>  *From:* Fabio Ebner <[email protected]>
> > >>> *Sent:* Monday, December 07, 2009 4:56 PM
> > >>> *To:* [email protected]
> > >>> *Subject:* [flexdev] Re: Ajuda AddEventListener
> >
> > >>> AE mlkao.. ficou assim e nao funcionou
> >
> > >>>             private function addMarker(localizacao:Object):void
> > >>>             {
> > >>>                 var marker:Marker=new Marker(localizacao.point);
> >
> > >>>                 this.map.addOverlay(marker);
> > >>>                 marker.addEventListener(MouseEvent.CLICK, teste,
> false,
> > >>> 0);
> >
> > >>>             }
> >
> > >>>             private function teste(evt:MouseEvent):void
> > >>>             {
> > >>>                 edit.text="vaii";
> > >>>                 Alert.show("TESTE");
> > >>>             }
> >
> > >>> e nao funcionou
> >
> > >>> 2009/12/7 Paulo Fernando Stoppa <[email protected]>
> >
> > >>>> cara, a assinatura da function teste ta errada...
> > >>>> tem q ser assim
> > >>>> private function teste(event:MouseEvent):void
> >
> > >>>> Paulo Fernando Stoppa
> > >>>> [email protected]
> >
> > >>>> 2009/12/7 Fabio Ebner <[email protected]>
> >
> > >>>> Pessoal fiz o seguinte codigo:
> >
> > >>>>>             private function addMarker(localizacao:Object):void
> > >>>>>             {
> > >>>>>                 var marker:Marker=new Marker(localizacao.point);
> > >>>>>                 marker.addEventListener(MouseEvent.CLICK, teste,
> false,
> > >>>>> 0);
> > >>>>>                 this.map.addOverlay(marker);
> >
> > >>>>>             }
> >
> > >>>>>             private function teste():void
> > >>>>>             {
> > >>>>>                 edit.text="foi";
> > >>>>>             }
> >
> > >>>>> alguem pode me ajudar pq qdo eu clico na marca ele nao faz nada??
> nao
> > >>>>> executa o eventListener (no meu caso o teste)..
> >
> > >>>>> Obrigado
> >
>

--~--~---------~--~----~------------~-------~--~----~
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