Why the opposition to different tilemaps?
I am guessing your mentality behind that is to avoid a mess in the editor?
If so, make one tilemap who's only purpose is for editing, and how ever many tilemaps you need for your different tile types. Then on the start of the layout, loop through editor tilemap and use that to populate the secondary tilemaps.
I am using this approach currently in a game that I am making.
I have a static tilemap size that I am using, but if you need it to be dynamic, simply replace the the limits in the for loops to tilemap.width % [tilesize] and it should automatically cover the full tilemap.