Ah donc c'est pour une application web (fallait le dire
)... Bin si tu connais un peu le PHP c'est pas très compliqué, le principe de base est d'utiliser les "imagemap" de HTML (zones cliquables sur une image). Tu génères en PHP des imagemap sur une image représentant une carte, et tu y associes des liens. Tu peux encore plus automatiser le principe en générant "à la volée" une carte/image en PHP, grâce à la bibliothèque GD, installée par défaut maintenant dans PHP.
Imagemap :
http://www.thelin.net/laurent/labo/html/imagemap.html
Images en PHP :
http://www.php.net/manual/fr/ref.image.php
Voilà, au moins ça reste simple, léger pour le serveur (pas besoin de SIG pour cliquer sur des villes). Si c'est une collection de villes que tu veux extraire, et non un lien que tu veux activer en cliquant, tu peux aussi compléter avec du javascript, ce qui te permet de récupérer les noms de ville sans recharger la page. Et on arrive tout naturellement à de l'AJAX, qui peut déclencher des apparitions de conteneurs avec de la donnée "serveur", en fonction de ce que tu cliques, sans rechargement complet.