/**
*
* @module Interface
*/
/**
* <i>if you only need to add map support you don't need to implement this</i><br />
* interface for objects added to the map (or rather onto a layer)
* @class Franson.Map.IOverlay
* @constructor
*/
Franson.Map.IOverlay = function(/*[...]*/)
{
// [...]
};
// methods
Franson.Map.IOverlay.prototype =
{
/**
* see <a href="http://code.google.com/apis/maps/documentation/reference.html#GOverlay.initialize">GOverlay.initialize()</a>
* @method initialize
* @param {Franson.Map.ILayer} layer (Not a Map)
*/
initialize: function(layer)
{
// [...]
},
/**
* destructor
* @method destroy
*/
destroy: function()
{
// [...]
// typical
this.remove();
disconnectAll(this);
},
/**
* ok to specify here?
* fires event <a href="#event_onvisibilitychanged">onvisibilitychanged</a>
* @method hide
*/
hide: function()
{
// [...]
signal(this, 'onvisibilitychanged', false);
},
/**
* ok to specify here?
* fires event <a href="#event_onvisibilitychanged">onvisibilitychanged</a>
* @method show
*/
show: function()
{
// [...]
signal(this, 'onvisibilitychanged', true);
},
/**
* ok to specify here?
* @method isHidden
* @return {boolean}
*/
isHidden: function()
{
// [...]
},
/**
* see <a href="http://code.google.com/apis/maps/documentation/reference.html#GOverlay.redraw">GOverlay.redraw()</a>
* @method redraw
* @param {boolean} force
*/
redraw: function(force)
{
// [...]
},
/**
* note that you should(must) not call this directly,
* rather use <code>map.removeOverlay(marker)</code> (which will call this)<br />
* see <a href="http://code.google.com/apis/maps/documentation/reference.html#GOverlay.remove">GOverlay.remove()</a>
* @method remove
*/
remove: function()
{
// [...]
signal(this, 'onremove');
}
};
/**
* fired in <a href="#method_show">show()</a> and <a href="#method_hide">hide()</a>
* @event onvisibilitychanged
* @param {boolean} visible
*/
/**
* fired in <a href="#method_remove">remove()</a>
* @event onremove
*/