Disclaimer: The code for CanvasMap is very much in the prototype stage. It is buggy and far from complete. It wont hurt anything to play with it, but you wont want to use it in any apps you are building.
One big different between Canvas Map and Bing Maps or Google Maps is that it easily supports using the imagery tiles from either Bing Maps, OpenStreetMap or Google Maps. And, it’s Open Source.
You can download the full source code for CanvasMap here:
Enjoy playing around with it. I know I have.