What is ka-Map and why would I want to use it?
From Ka-Map Wiki
[edit] What is this ka-Map thing anyway?
ka-Map is a javascript API for developing kick-ass web mapping applications. It provides the core engine for rendering fast, tiled, continuous pan maps like Google.
ka-Map can be used for a wide variety of applications, but it is not the answer to every single type of application you may want to build. Be sure that it is suitable for your application before you spend a lot of time getting dug in ...
ka-Map does not come with many tools. It has:
- support for switching between maps
- basic navigation (zoom, pan)
- legend (not based on templates, so it can't be changed significantly)
- scalebar (using MapServer's built in scalebar which more or less sucks)
- reference map (using a static image and a dynamic extent overlay which doesn't suck)
- a basic query framework (but you have to implement the actual query ... more on that elsewhere)
- basic support for special ka-Map events aid custom development
ka-Map comes with a basic user interface that is designed primarily to be a showcase of the features of the API rather than a great application. The code is designed to intrude as little as possible on the application design.
ka-Map is designed to use caching as much as possible. It does not use or support sessions of any kind, and aggressively uses a server side cache and the client's browser cache.
ka-Map is relatively server-agnostic. The back end is currently written in PHP and uses MapServer. Some folks have ported the back end to perl (still with MapServer) and at least one user modified ka-Map back end to use python and something built on Anti Grain Graphics (could have been Python Cartographic Library with Plone or Zope?). It is fairly easy to get it to render tiles directly from WMS servers.
[edit] What it is good for
- static base map data with dynamic point overlay information. There are a suprising number of applications that fit this model.
- fixed zoom scales
- large maps (full screen, or nearly full screen)
- dynamically resizable maps
[edit] What it is not good for
- maps in which the base data changes dynamically, dynamic classification etc

