I want to draw a battle map for the cover of my book.
By battle map I mean an image like this:
What tools can I use in order to draw such map easily?
If you don't have (or are too cheap to spend) the dinero for the optimal solution, which is the Creative Cloud (Photoshop, Illustrator) suite of editors, you could generally use Inkscape, as it is free, and being vector-based (so editable), it produces images that scale better and are more controllable than those directly from GIMP. This is made in Inkscape in about 5 minutes, eyeballing your sample map:
However, others swear by GIMP, so your mileage might vary. Probably you could use them in combination.
You can get fancy stuff out of (free) Inkscape (+GIMP):
The most easiest way would be GIMP or Photoshop. GIMP is free.
Here is a 5 minute work example, with a computer mouse not a drawing tablet.
The arrows are ugly as hell, but you can use plugins like this one:
Another solution is Inkscape (https://inkscape.org)
Here is an example what you can do with it (not by me obiously). image link
I would recommend a vector program like Inkscape or illustrator since you can select and move the different elements at all time. Or you can use a raster program like Gimp, Paint or Photoshop but each time you modify a shape, you risk losing some pixels.
I think that's all. Have I missed something ?
You can give a try to http://mashupforge.com is a web tool to make and share maps. It is very versatile and easy to use but it isn't exactly what you are searching for (although it can be used for that).
If you want to use your own icons or background layers, you can upload your images. To make this I recommend to use a vector based drawing tool like Inkscape to draw your stuff.
When I came across this question, I thought of Inkscape too.
Battlegames magazine (as it used to be known) issue 13 had an article on using it for just this type of thing, which is now available online as a PDF.
It's a tutorial based article for people new to Inkscape and digital map making. I have worked through this article myself for simple maps.
I really like paint.net It's free. And it's like paint (super easy to use) but with layers and transparency. Actually it's kind of a cross between photoshop and paint.
In addition to Tanasa's excellent recommendations, you can also use AutoREALM if you're on Windows (or through WinE for Linux). This is their SourceForge site.