Finally, I got how to create a ZoomableCanvasMap with a custom projection.
Currently, only the latest spam.js at the master branch supports the
parameters.map.settings()
function.