Getting adornment shape's position

Hi, We are using a small rectangular shape for our link adornments.
Our requirement is to position a html menu above this box, whenever mouse hover happens.

Like I showed in above diagram, for positiong this menu we need adornment shape’s position values.
I tried to access these from mouse hover callback.
mouseHover : function (e, linkPart) {
}
from this linkPart, Im trying in following way to get the position values.

var adornmentTemplate = linkPart.selectionAdornmentTemplate();
var adornmentShape = adornmentTemplate.findObject(“linkAdornment”);
// adornmentTemplate is the name of our link’s adornment


Here adornmentShape.position is giving x and y values as NaN.

Same king of values are coming, If i try to fetch a shape’s position values from a node, which contains multiple shapes.

Is it possible to get position values of shape?

This demonstrates the basic technique:

myDiagram.linkTemplate = $(go.Link, { routing: go.Link.Orthogonal }, { selectionAdornmentTemplate: $(go.Adornment, "Link", $(go.Shape, { width: 10, height: 10, fill: "blue", mouseEnter: function(e, obj) { var buttons = obj.part.findObject("BUTTONS"); if (buttons !== null) buttons.visible = true; }, mouseLeave: function(e, obj, next) { var buttons = obj.part.findObject("BUTTONS"); if (buttons !== null && (next === null || // don't hide BUTTONS if the mouse is leaving the Shape by entering the BUTTONS (next !== buttons && !next.isContainedBy(buttons)))) { buttons.visible = false; } } }), $(go.Panel, "Horizontal", { name: "BUTTONS", visible: false, alignmentFocus: go.Spot.Bottom, background: "transparent", mouseLeave: function(e, obj) { obj.visible = false; } }, $("Button", $(go.TextBlock, "Describe"), { click: function(e, obj) { var link = obj.part; alert(link.data.from + " --> " + link.data.to); } } ), $("Button", $(go.TextBlock, "Delete"), { click: function(e, obj) { obj.diagram.commandHandler.deleteSelection(); } } ) ) ) }, $(go.Shape) );