Thanks, Javier - it's in the gallery now.

On Wed, May 6, 2009 at 9:59 PM, Javier de la Torre <[email protected]> wrote:
>
> Ok. I did not have time to really do anything useful for this example,
> but here is the URL.
>
> http://s3.amazonaws.com/biodiversityatlas.com/mouseovertile/MouseOverTileExample.html
>
> Javier.
>
> On May 6, 2009, at 12:26 PM, pamela fox wrote:
>
>>
>> That's a cool idea! If you can wrap that into a small demo, we can put
>> it in the demo gallery.
>>
>> Thanks for sharing.
>>
>> On Wed, May 6, 2009 at 7:20 PM, Javier de la Torre
>> <[email protected]> wrote:
>>> Hi all,
>>> I have been working recently with TileLayerOverlays. The idea is to
>>> represent thematic mapping with different colors on countries. I
>>> needed it
>>> to be fast so I am using TileLayers. But I wanted to change the
>>> mouse cursor
>>> when hovering over the countries.
>>> I thought it could be interesting to share how I did it. Baiscally
>>> I have a
>>> TileLayer (that extends from TileLayerBase) that add custom Tiles
>>> (Sprites),
>>> like some examples on the demo. the custom tile then adds an event
>>> listener
>>> to mouse movement. In every movement I check the color of the pixel
>>> behind
>>> the mouse and if it is distintct to white then it means I should
>>> activate
>>> the mouse cursor. The mouse cursor is set by setting the tile
>>> buttonMode
>>> property to true.
>>> Here is the class in case someone needs it.
>>>
>>>
>>> ----------------
>>> package com.vizzuality.map.overlays
>>> {
>>>
>>> import flash.display.Bitmap;
>>> import flash.display.BitmapData;
>>> import flash.display.Loader;
>>> import flash.display.Sprite;
>>> import flash.events.Event;
>>> import flash.events.IOErrorEvent;
>>> import flash.events.MouseEvent;
>>> public class CustomTile extends Sprite
>>> {
>>> public var loader:Loader;
>>>         private var bm:Bitmap;
>>>         private var bmd:BitmapData;
>>> public function CustomTile()
>>> {
>>> loader = new Loader();
>>> loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,
>>> ioErrorHandler,false,0,true);
>>> loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
>>> loaded,false,0,true);
>>> this.addEventListener(MouseEvent.MOUSE_MOVE,onMouseOver);
>>> }
>>> private function ioErrorHandler(event:IOErrorEvent):void {
>>> event.currentTarget.removeEventListener(IOErrorEvent.IO_ERROR,
>>> ioErrorHandler);
>>> }
>>>
>>> private function onMouseOver(evt:MouseEvent):void {
>>> bm = this.loader.content as Bitmap;
>>> bmd = new BitmapData(256, 256);
>>> bmd.draw(bm.bitmapData);
>>> var color:int = bmd.getPixel(evt.localX, evt.localY);
>>> if (color != 0xFFFFFF) {
>>> this.buttonMode=true;
>>> } else {
>>> this.buttonMode=false;
>>> }
>>> }
>>> private function loaded(event:Event):void {
>>> event.currentTarget.removeEventListener(Event.COMPLETE, loaded)
>>> addChild(loader);
>>> }
>>>
>>> }
>>> }
>>> -----------------
>>>>
>>>
>>
>> >
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API For Flash" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-maps-api-for-flash?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to