Place example map
This map was drawn years ago for a brochure, and I know I drew it from an example image. Only I don't have this image anymore, so for this tutorial I'm going to use the final version as my example which I have saved into a greyscale jpeg file. You can of course use a screenshot taken in Google Maps from the area that you need to draw.
Create a new document (File > New…), choose the Print Profile option, and select A4 or Letter as Size. You might also want to change Points into Millimeters as Units. Click OK. Now that you are all set to get started, we need to place the example map into our document. Go to File > Place, browse to the image, select it and hit the Place button. Click on the canvas to place the image. Could be that the image is way too big. If that is the case you can scale it down to 50%. Go to Object > Transform > Scale… and enter 50% in the Uniform field (or another value that you think suits best).
Create Template Layer
Go to the Layers panel and double click the layer icon. In the window that appears give the layer a name e.g. example map, check the Template option, enter a value such as 30% in the Dim the Images to field, and click OK. You have now created a Template layer, which is muted and locked, ideal as guidance to draw our map on top on a new layer. Click the Create New Layer button icon in the Layers panel to create a new layer.
Draw the streets
Now we're all set to start drawing our map. Select the Pen Tool from the Tools panel and start drawing all the streets as single lines including the railway. For practical reasons I've selected no Fill and a black Stroke of 1 pt. As you can see from the image above, I'm drawing these lines in the centre of the streets. You also notice that I connect the small roads to the bigger ones. This isn't needed. It's actually better that you don't touch the big ones, and leave a bit of a gap in between. This way you might be skipping some retouching work (see the part Retouching further in this article). It's only when I got so far already while I was composing and writing this tutorial, that I came to this conclusion, and it would have taken me too much work to redo all the steps.
While drawing all these roads, you might want to think ahead, by putting each type of street in a different layer. In my case I have only 3 different types of roads: small streets, and 2 different kind of big roads. Since I only have 2 big roads in total, and I put both together into one layer. In my Layers panel I have added a 'railway', 'big roads' and 'small roads' layer, also taking the right stacking order into account.
As I mentioned in my article "The power of Illustrator’s Appearance panel and Graphic Styles", I saved a Graphic Styles Library for this kind of job to make sure that each map I create uses the exact same styling. As you can see from the image above I have 4 different styles, 1 style for each road type. It's OK to start with no styles at all as I'm showing what's been applied in the Appearance panel. First select all the paths of the layer that has all the small roads. Do this by going to the Layers panel and by clicking the circle icon to the right of the layer's name. Now go to the Appearance panel and click the Add New Stroke icon button at the bottom of the panel. Click the up arrow a couple of times to change the number from 1 to 7 pt. Click the Add New Stroke again and select White for color and 4 pt as stroke width. Notice how the lines of the street are all nicely connected with each other. That's because you are applying these strokes to the entire layer instead of selecting the paths using the Selection Tool. Also, as an extra check, you see the word Layer at the top of the Appearance panel.
Now select the path of the biggest road using the Selection Tool (black arrow). Go to the Appearance palette, now notice at the top the word 'Path' is mentioned. Add the different strokes as shown in the images above. This time you need to stack 3 different strokes on top of each other, starting with the bottom one of 20 pt black, then 16 pt white and lastly 1 pt black dashed. To create the dashes, click on the word stroke to evoke the Stroke panel, check the option Dashed Line and enter 6 pt for dash and 8 pt for gap. Now select the other big road and apply the following strokes: 15 pt black, 12 pt white and 1 pt grey dashed, using 3 pt dash and 5 pt gap.
For the railway I added 2 strokes: 5 pt back and 2 pt dashed white, using 12 pt as dash and gap. The styling of this railway is a typical style that's been used in a lot of maps here in Belgium, with the B sign on top. If you like, you can of course try something different, as shown in the simple examples.
If you look at our example map, you'll notice that the small streets are all nicely connected with the big ones. I have been breaking my head over this, to find an easy way to do this, but unfortunately I couldn't find any. So to create these proper intersections, you need to add the intersecting path segments of all the small roads on top of the big roads, but these segments should only have the white stroke applied to them. This is a bit work, but I'll guide you through this. First lock the layers 'big roads' and 'railway' to be sure you don't touch these.
Create new layer
Click the Add New Layer icon to create a new layer on top of the 'big roads' layer. If needed, move the layer in the Layers panel, by click-dragging the layer. Give the new layer a name 'intersections' (by clicking on the name).
Select intersecting anchor point
Now, you need to select all the anchor points that touch, or almost touch (see my remark before of not touching the big roads). You can either select the Direct Selection Tool (white arrow), or you could choose to use the Lasso Tool (see image below). After selecting the first anchor point, make sure to hold down the Shift key to select all the others. If you think you have them all selected, hit Cmd/Ctrl + C to copy them.
Paste in place
Select the 'intersections' layer and go to Edit > Paste in Place (or hit Shift + Cmd/Ctrl + V) to paste the copied anchor points in the exact place. Now you first need to click the Clear Appearance icon button at the bottom of the Appearance panel to remove the styling on the selected paths. Then you go to the Layers panel, and select all the paths of the 'intersection' layer by clicking the circle icon of the layer. Now add a new white stroke of 4 pt by click the Add New Stroke icon button in the Appearance panel. In my example I applied the 'Small Roads' styling again, but removed the black stroke from the Appearance panel by dragging it to the trash icon.
If you made sure not to touch the big roads, you probably won't run into the issue I had here. It depends on the space of the gap, whether retouching is needed or not. Notice how the white lines to create the proper intersections cover some of the dashes. To correct this, we need to do some retouching using the Scissor Tool. Select the Scissor Tool and click on the segment that needs to be cut off. Select this segment (using the Direct Selection Tool or white arrow) and hit the delete key to remove it. Repeat this action for all necessary segments until all dashes are visible again.
Adding green & water
We also need to add the sea, and the parks in our map. To do this in an organised manner, we create a layer for each, and we put them below the road layers. We also make sure to lock the other layers so we don't touch anything in those layers, and we start drawing using the Pen Tool. When we're done we apply a proper green for the parks and blue for the sea. I have also added another layer at the bottom named ,'background' to add a pastel green background at the bottom of the map (below the railway).
On straight roads
To add the names of the streets, the parks etc. I added another layer on top of all the layers. Before I start adding the text, I lock the other layers. Then I add my text using the Type Tool. I rotate the text if needed so they fit in nicely. Then, to cover the dashed lines I added a tick white stroke of 4 pt to the outside of my text. The trick here is to make sure this white stroke is below the black fill in the Appearance panel. So you need to drag the stroke below the Fill in the Appearance panel to get the right effect.
On curved roads
To add the street name on a curved road, you need to first copy a segment of the road where you want your text. Temporarily unlock the 'big roads' layer and select the road using the Direct Selection Tool. Copy the path by hitting Cmd/Ctrl + C. Lock the 'big roads' layer and select the 'text' layer. Paste in place by hitting Cmd/Ctrl +V. Now use the Scissors Tool to cut off the part that exceeds the length of the name (rough estimation), but make sure the segment is still long enough to type your name. Now you could first remove the styling that is applied to the line (see image below), but once you click on it with the Type on a Path Tool it'll disappear anyway. It's up to you.
Select the Type on a Path Tool (located under the Type Tool), click on the path segment and type the street name.
If needed, you can move the text a little bit on the path segment by using the Selection Tool and dragging the text path handles as shown in the image below. Move the path a little bit down so the text is perfectly vertically centered positioned on the street.
Again we need to cover the dashed. Here I used a 6 pt white and used a round cap and corner (to hide the sharp points).
Then I also made sure to move the stroke below the fill in the Appearance panel.
Add a Layer Clipping Mask
The only thing left to do is to mask this roadmap into a square. We'll do that by using a so called Layer Clipping Mask. A Layer Clipping Mask uses the top most object in a layer stacking order to create a mask. So first we create a new layer on top of all other layers. Select the Rectangle Tool and draw a square (hold down the Shift Key while dragging).
Click the triangle icon to the left of the layer name to reveal the sublayers. Now select all the layers below the mask layer (use the Shift Key to select the 2nd, 3rd… layers) to grab them. Drag the layers inside the mask layer, so they're becoming sublayers.
The mask layer should still be active, but if not click it. There is no need to select any objects or paths. Now click the Make Clipping Mask icon button at the bottom of the Layers panel.
The top most object of the sublayers now serves as a clipping mask for all other sublayers below. That's it! Hope you enjoyed this tutorial.