Many people just use the map internally, so by default if you’re doing tricky connections it gets wonky and it’s not a big deal so long as the game works correctly. But check out chapters 25:18-25:23 in the documentation:
I think the point is that the connections will work correctly when you play the game, it’s only the visualization that is wonky. The visualization of the map doesn’t show up in game and does not affect how the game works.
Yeah - if you really want the IDE map to look nice, you can look through the docs Hanon linked to (notice the “offset” setting that lets you manually tweak where rooms show up), but of course a player will never see that. It might be better or at least easier to make a map in something like Trizbort instead, which includes a handy automap feature (here’s the Windows-only download link, here’s the browser version for other OSes).
I don’t believe there’s a way to import directly into Trizbort but there is an automap feature - if you just quickly run around, it’ll build a map which you can then manually tweak and label as needed.
I believe you can also feed it an existing transcript instead of doing it live.
Essentially it can’t build a map from code (to my knowledge?) but it can infer the map by watching you play or reading a transcript. And if you build a map in Trizbort it can spit out map code for you to paste in to create it in code (in Inform and several other formats.)