Dota 2 Maps
There are no official tools to create Dota 2 maps, although the community has hacked together a number of tools to compile Dota 2 maps that work.
Configuring Alien Swarm SDK
Follow Steps 1 through 6 in Cyborgmatt's Model Viewer Guide
Download AlienSwarm SDK. Hit 'Edit Game Configurations' and create a Dota 2 config. Point the directory to the bin folder that contains the gameinfo.txt detailed in the above guide.
Go to SteamApps\Common\alien swarm\swarm\ and edit the gameinfo.txt. Add the game content you extracted to the search path (similar to step 6 in cyborgmatt's tutorial).
To properly build a Dota 2 map, you need the following tools:
FGD is being made
Download both of these and extract them into the bin folder from above.
Open Hammer, and select Tools -> Options...
Select the 'Build Programs' tab. Make sure your configuration is Dota 2. For the 'BSP Executable', select the version of vbsp that you downloaded. You can blank the fields 'Game Executable', 'VIS executable', and 'RAD executable'. Select a good place to place compiled maps.
Maps are a much larger scale in Dota 2 than they are in other source games.
More than 8 displacements crashes Dota 2. There is no known fix for this yet.
Prop_Static crashes the game. If you need to create a model, use Prop_Dynamic
If an entity is outside the bounds of the map, it crashes the game with no error.
Building Your Map
Once you have your map in a place you want it, go to File -> Run Map. Select 'No' for Run VIS and Run RAD and check 'Don't run game after compiling'.
Build the map. The AlienSwarm version of Hammer likes to put your compiled map into SteamApps\Common\Alien Swarm\swarm\maps\. Copy it to your dota 2 folder.
Run UpVersion.exe on the compiled map (drag the .bsp onto UpVersion.exe).
Navigation meshes are stored in the .gnv format. A tool needs to be written to convert a bitmap to the .gnv format.