This comes up periodically. I have mixed feelings about it from a UI perspective, as things tend to jump around a bit, but it's not too hard to implement:
function myFilter(item) {
return item.getInfoPoint() within tm.map.getBounds();
}
* Then add a handler to the map to call the filter. You can either add the handler using the mapstraction endPan and endZoom events, or if you're using Google I think there's a boundschanged event that covers both (you can access the Google map with tm.getNativeMap().) The handler would look something like this:
tm.map.endPan(function() {
tm.filter('timeline');
});
Let me know how it goes -
-Nick