I'll give you some background on my project...
I'm working on a google maps wizard that does... honestly a bit of
everything. The timeline is just the latest feature. I am looking at
creating something similar to the Timeline project that's built on top
of Simile, but for that project, you have to load the map into the
timeline object, and I'd rather have the map be the base of
everything, and just create my own bridge between the two of them. The
reasons get fairly detailed on this, but it's the best approach I can
take.

All of the map markers and and event specific items for the timeline
are stored in the database. I make the distinction between map markers
and timeline specific items, because I create map markers with start/
end dates, but recognize there are times when we'll want to add
something to a timeline that isn't a map marker. These items are
pulled from the database and I build a 2d array of events and markers
for JS. From there, the JS creates the JSON calls to load them into
the timeline. I do it this way because I'm able to dynamically edit
everything without ever having to reload the page. So far, none of
this is the issue.

The last bit of functionality that I'm looking to recreate is... as I
scroll the timeline, I'd like to have only the items on the top tape
be the ones that are visible on the map, so that as you scroll the
timeline, you'll be able to see the progression of the items move
across the map. Making the markers on the map appear/disappear isn't
an issue, that's definitely easy enough to do, the part that I'm
stumped on is finding an effective way to track the events on the
timeline that are currently visible.

I understand what you're talking about on the load that it could
create, and that was my biggest worry, but I wasn't sure of a better
approach for it all. As far as the load goes, I don't think I'll even
hit a timeline with more than a couple hundred items on it
realistically, though I'm sure now that I said that, I'll come up with
one that has over 3000, lol.

This is a pretty winded post, but I think it explains everything in
pretty well detail with the exception of posting sample code, lol. I'd
love to hear some more ideas though.

On Jul 11, 5:44 pm, Michael Nosal <[email protected]> wrote:
> John,
> What are you trying to make Timeline do? It would help if I understood what 
> you were trying to accomplish.
> Attaching listeners to each individual event is expensive to do, and can 
> cause performance problems if done incorrectly.
>
> Timeline does support the ability to add listeners to the individual events - 
> the onSelectListener gets fired when you click on an event and the 
> eventPaintListeners get fired when the Timeline .paint() is called.
>
> Because of the expense of adding listeners, and the potential for having to 
> fire too many listeners, or check too many events, you might look at using 
> event delegation instead. Set a scroll listener on a band and let it decide 
> what to do based on the time and events shown.
>
> I'm not sure what you mean by having the server side script generate loading 
> calls for you. Better to have the server provide the data necessary for your 
> event loading, and use the client side javascript to load that data. Keeps 
> things cleaner and easier to maintain if you ever need to change formats, 
> load order, etc.
>
> --Mike
>
> On Jul 11, 2011, at 5:13 PM, John S wrote:
>
> > I've been hunting around for this, but I haven't been able to find
> > anything yet, and I wanted to see if anyone else had any suggestions
> > for a good way to do this.
>
> > I'm currently loading everything dynamically with JSON calls, and
> > setting a custom class for each item. (these calls are being generated
> > from a server side script that's writing the loading calls for me, so
> > the names are something like, "event26" where the 26 is the event ID
> > in the database.)
>
> > Because of the way I'm doing this I can attach a listener to each
> > event individually, based on the unique class names, but I'm just not
> > sure what to look for as the trigger of the listener. I'd like to have
> > the listener trigger whenever the labels become "visible". I know
> > thats a vague way to describe a trigger, but that's half my problem of
> > coming up with a better plan of attack.
>
> > If anyone has any ideas on how I could go about doing this, it would
> > be a serious help! I don't even need the specific code, just a push in
> > the right direction should be enough for me to go on.
>
> > --
> > You received this message because you are subscribed to the Google Groups 
> > "SIMILE Widgets" 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 
> > athttp://groups.google.com/group/simile-widgets?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"SIMILE Widgets" 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/simile-widgets?hl=en.

Reply via email to