Global config: *geocode - pointer to cards that should be considered part of address information when encoding. eg. if *geocode points to citystate, then when X+city or X+state are saved, coordinates are put in X+*geocode based on " "
Other special cards:
X+*geocode - where latitude/longitude info from geocoding is stored.
X+*geodescription - if present, contents of this card are used for the "popup balloon" inside the maps. If not, the contents of X are used.
KML - similar to .rss, any card can be reqeusted with a .kml extension.
which will give a standard markup for the map locations of that card if card+*geocode exists.
Similarly for searches markup is generated for all cards that have +*geocode. KML files can be loaded into google earth, etc.
For Ainability:
Main Map: googleSiteMap used HTML with embedded JS to load google maps and display all geocoded data about Sites. (ie loads Site+*type cards.kml).
Small Maps: on each site there's a map image given by map+*rform: these are created using Google "static maps" API which is just an image and loads much more quickly than a full interactive map.
notes on loading:
In the current solution, I've included the Google ajax api's in our site header, but no additional js files. The maps code is then loaded on the fly for pages that need it.