How to arrange elements based on their positions within Group's local coordinate?

I’m prefer to this:
And I’m using :
$(go.Panel, go.Panel.Position, $(go.Placeholder, { padding: 5}))

But it’s not working

here is my groupTemplate:
var groupTempl = $(go.Group, “Auto”,
fromSpot: go.Spot.AllSides,
toSpot: go.Spot.AllSides,
new go.Binding(“location”, “location”, function(locStringify){
return go.Point.parse(locStringify);
$(go.Shape, “Rectangle”, { fill: null, stroke: “#4472C4”, strokeWidth: 2 }),
$(go.Panel, go.Panel.Vertical, // title above Placeholder
$(go.Panel, go.Panel.Horizontal, // button next to
// TextBlock
{ stretch: go.GraphObject.Horizontal, margin: 1 },
{ alignment: go.Spot.Right, margin: 5
alignment: go.Spot.Left,
editable: true,
margin: 5,
font: “bold 18px ‘Open Sans’”,
stroke: “#4472C4
new go.Binding(“text”, “label”))
), // end Horizontal Panel

    				       	$(go.Panel, go.Panel.Position,
    								            { padding: 5})
    	); // end Group

Sorry, i need to more specific my question:
For Example, i have:
Node A with Location(0,0) in Group B.
Node C with Location(0,0) not in any group.
What i want here is Node A not overlapping with Node C.
And Location of Node A belong GroupB 's Coordinate system

All Parts, including Nodes and Groups, have locations and positions in document coordinates. There is no separate coordinate system for each Group.

That does mean that moving a group also means moving its member nodes, but it permits other organizations where you would not want such a built-in assumption. For example, Shared States.

Please see image above.
In my diagram i set exacly location of each node like image.
Is it possible to make Nodes inside group and Node outside group like that?

Node.location is necessarily only in document coordinates.

However it might be possible to have the location be data bound to some point value which is relative to the group that it is in.

    // Assume the data.loc property has a relative location for the node compared to its containing group.
    // (If there is no group data, it is the location in document coordinates.)
    // toLocation should not depend on any Node.location because they might not have been initialized yet.
    function toLocation(data) {
      var loc = go.Point.parse(data.loc);
      if ( !== undefined) {
        var groupdata = myDiagram.model.findNodeDataForKey(;
        if (groupdata) {
      return loc;

    // fromLocation just saves in data.loc either the absolute location if there's no containing Group,
    // or the relative location with its containing Group.
    function fromLocation(location, data) {
      if ( !== undefined) {
        var group = myDiagram.findNodeForKey(;
        if (group) {
          var loc = location.copy().subtract(group.location);
          data.loc = go.Point.stringify(loc);
      } else {
        data.loc = go.Point.stringify(location);

Make sure all of your node and group templates include:

        new go.Binding("location", "", toLocation).makeTwoWay(fromLocation),

This seems to work in my test app, but perhaps I am mistaken. You’ll need to test this in all of the circumstances that your app will encounter.