Переместить HTML5 Canvas с фоновым изображением

Я хочу визуализировать огромную диаграмму, нарисованную на холсте HTML5. Как показано ниже, давайте представим карту мира, невозможно представить ее все одновременно с «приличными» деталями. Поэтому на моем холсте я хотел бы иметь возможность перемещаться по нему с помощью мыши, чтобы увидеть другие страны, которые не видны.

Кто-нибудь знает, как реализовать этот вид панорамирования в канве HTML5? Еще одной особенностью будет увеличение и уменьшение масштаба.

Заранее спасибо!