I have a Tikz graph that looks something like this:
\usepackage{tikz}
\usetikzlibrary{shapes,positioning,shadows,arrows}
...
\begin{tikzpicture}[
singleNode/.style={rectangle, draw=none, rounded corners=1mm, fill=green, drop shadow,
text centered, anchor=north},
subtree2/.style={regular polygon, regular polygon sides=3, draw=none, fill=blue,
drop shadow, text centered, anchor=north, minimum height=6em},
subtree3/.style={regular polygon, regular polygon sides=3, draw=none, fill=blue,
drop shadow, text centered, anchor=north, minimum height=9em},
level distance=1em, growth parent anchor=south
]
\node (k3) [singleNode] {$k_3$} [sibling distance=20em]
child{ [sibling distance=14em]
node (k1) [singleNode] {$k_1$}
child{
node (A) [subtree3] {$A$}
}
child{ [sibling distance=8em]
node (k2) [singleNode] {$k_2$}
child{
node (B) [subtree3, fill=red] {$B$}
}
child{
node (C) [subtree2] {$C$}
}
}
}
child{
node (D) [subtree3] {$D$}
}
;
\end{tikzpicture}
subtree2 and subtree3 represent subtrees of height 2 and 3, respectively. This graph looks almost as I intend it, but the edge from a parent to a subtree connects at the side of the triangle, rather than the top.
How can I specify that the edge should connect to the top of my triangles?