Вы уверены что вам нужна именно карта на канвасе? Вариант стандартной тайловой карты(например на основе Leaflet) с наложением динамических данных не подходит? Все же перерисовка канвы довольно затратна по ресурсам и на старых машинах карта будет не плавной, на мобильных устройствах будет выжирать батарею.
Но если сильно хочется, то по "js canvas map" результаты гуглятся.