[ka-Map-dev] Overlay Objects

Lorenzo Becchi lorenzo at ominiverdi.com
Wed Feb 8 06:10:40 EST 2006


Today I've started talking with Andrea about push a little bit on the 
Overlay System.
Next week we'll be together developing only on ka-map (maybe...)
Starting point is PG work:
http://ka-map.ominiverdi.org/wiki/index.php?OverlayApiDiscussion

His API seems to me a good starting point.
About Point, Symbol, Icon and Label implementation I've nothing to say 
(maybe we can change little things before starting coding).
What we have in mind is about Linestring and Polygon. We want to start 
from ka-map core function: tiling.
We hope to offer a solution that could work on any AJAX compliant 
browser avoiding, for the moment, vectorial implementations as IE 
Canvas or SVG or WZ_jsgraphics.

First of all we think to create a layer (we can call it Canvas, or a 
better name) in the Viewport where, starting from XML, objects can be 
designed by the server, then tiled and finally back to the client.
In contrary to wz_jsgraphics, this system permits managing Lines and 
Polygons of big size and let us use pan and zoom functions without 
charging the client (wz_graphics could really slow the client). For the 
client is like another layer over the others: it can be very light if 
well optimized (few kb for tile).
If there's an updating procedure we would like to try to implement a 
solution that update only changed tiles (es: a point that moves on the 
map).

now the problem is to give this drawn objects some life.
We think to create a "special" level (trying to call it CanvasProxy, or 
a better name).
We are not sure about this implementation, maybe somebody can 
contribute with a better idea.
Anyway we want to use, inside the CanvasProxy, a transparent image (1px 
height & width) and force his dimensions to the map extent (so it 
changes depending on zoom level) then let it pan as layers below.
The hazard is: an imagemap.
Imagemap is the only HTML object that permits to design  irregular 
polygons (not just rectangles) and simply attach event listeners (es: 
onclick, onmouseover). Moreover it can be easily manage with DOM 
scripting (+ or -).
Now, for each polygon drawn in the Canvas there will be an AREA tag 
with his shape (rectangle, circ, circle, poly, polygon; maybe just 
polygons) for the CanvasProxy transparent image. Then for each polygon 
we can associate onclick and mouseover events extending ka-map ones.

In a future we can extend this method to edit objects just drugging 
polygon extremes, alter the XML on the fly and send it back to the 
server to render the Canvas layer.

To start working on this we need to choose the XML schema we want to 
use. Maybe Paul already decided (let us know).

please, send comments

ciao
Lorenzo



More information about the ka-Map-dev mailing list