I had a go at this last night and it was relatively simple to get working. I created a MapHolder and a MapPage type that contains the location coordinates and description. I created a MapPage template and this contains the relevant JavaScript with the placeholders for the fields to insert from the table.

The only hurdle I have encountered is that the map displays as blue in Firefox (although it displays in IE 6 & 7 fine). Inserting the JavaScript into a static page displays correctly on all browsers. Removing the stylesheets so that these are not applied to the pages does not resolve the issue.

I have contacted the ZoomIn developers regarding the issue where a static page containing the HTML generated by SilverStripe works but the dynamically generated GTML does not. This was the reply:

Hmmm, tricky. I don't know much about how SilverStripe works, but there are
two differences between the page source of the SilverStripe version and the
static version you pasted: the former starts with an XML tag (<?xml
version="1.0" encoding="UTF-8"?>), and the html tag include xml namespace
attributes (<html xmlns="http://www.w3.org/1999/xhtml xml:lang="en" >).

Looking at the way the syntax is highlighted in the two versions by
Firefox's source viewer, I'd surmise that those changes are causing Firefox
to parse the CDATA block (containing our script) in a different way, which
causes an error (not a very meaningful one: "An invalid or illegal string
was specified"). Is there any way that you can configure SilverStripe to not
make those XML settings?

Thanks for the reply. I removed the code from the default template as indicared by ZoomIn and this addressed the issue. Is this an issue that I should address with ProjectX and what would I tell them they should change?

I guess by removing this code, the generated code is no longer fully compliant.

It's still compliant, but it's compliant HTML 4.01 instead of compliant XHTML. Strictly speaking, IE doesn't support XHTML and most browsers interpret XHTML provided to them as HTML 4.01.

If you want to raise this with the Zoomin team - you want to mention to them that their code doesn't work if the XHTML page is sent with the application/xhtml+xml content type. JavaScript behaviour on this is a little different, particularly around &nbsp; and .innerHTML.