You may need to be aware of the licensing restrictions which vary between providers - some require non-commercial use, some require use to be freely available (typically login credentials are OK but putting the site onto a company intranet is not) and others have no restriction. You may need to check each one to match the particular case you have in mind.
I think you will also find that in the small print you are not supposed to cache the tiles yourself (basically to stop people just caching everything and setting up their own map service provision).
As for drawing on the canvas, most providers allow various kinds of manipulation, from simply putting a supplied amrker at a given lat/long through to doing whatever you want. Each provider surfaces their own API and you just need to find one that is suitable for your needs. Personally I use a mixture of Google for some uses and ARCGIS for others, but you may find others fit your needs better,