[Tex/LaTex] Map with explaining pictures

beamernode-connectionsoverpic

I try to achive something like this:
Map with explaining pictures

It is a photo I made in the local zoo. Sorry for the poor quality.

I like the idea of a map containing explaining images and try to do the same with beamer. Unfortunately my output is very poor. My first attempt has the following code:

\PassOptionsToPackage{demo}{graphicx}
\documentclass[a4paper]{beamer}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[remember picture, overlay]
  \node[] (image) at (current page.center) {\includegraphics[width=0.6\textwidth]{map.jpg}};
  \begin{scope}[x={(image.south east)},y={(image.north west)}]
    \node[] (descriptionimage) at (1.1, 0.25) {\framebox{\includegraphics[width=0.15\textwidth]{bird.jpg}}};
    \node[] (markhere) at (0.7, 0.25) {};
    \draw [thin, red, fill=red] (markhere) circle (4pt);
    \path[->,red] (descriptionimage) edge [out=90, in=0] (markhere);
  \end{scope}
\end{tikzpicture}
\end{document}

Since I don't use tikz very often I have no idea of how to draw elegant lines between the markhere node (maybe dotted lines) and how to get the small description text below the explaining image.

Could anyone help me to find a more elegant solution and maybe find a more elegant code?

Best Answer

For a paper I once wrote I used the spy library of tikz to zoom into a photo. Maybe you can whip up something with the code below.

\documentclass{article}

\usepackage{graphicx}
\usepackage{tikz}
    \usetikzlibrary{spy}
\usepackage[pdftex,active,tightpage]{preview}
    \PreviewEnvironment{tikzpicture}

\newcommand{\imsize}{\linewidth}
\newlength\imagewidth
\newlength\imagescale

\begin{document}

\pgfmathsetlength{\imagewidth}{\imsize}
\pgfmathsetlength{\imagescale}{\imagewidth/5700}
\begin{figure}
    \centering
    \def\magnification{3}
    \begin{tikzpicture}[x=\imagescale,
        y=-\imagescale,
        spy using outlines={rectangle, magnification=\magnification,size=100}]
        \node[anchor=north west,inner sep=0pt,outer sep=0pt] at (0,0) {\includegraphics[width=\imagewidth]{World_map_blank_gmt}};
        \spy [red,connect spies] on (1490,988) in node at (0,2000);
        \node at (0,3000) {Florida};
        \spy [red,connect spies] on (3392,1812) in node at (5700,500);
        \node at (5700,1500) {Madagascar};
    \end{tikzpicture}
\end{figure}

\end{document}

enter image description here