title: How to make four Cesium Label be considered just one object
body: <p>I have created a billboard with 4 labels, because I need a label with 4 lines, just like this:</p>
  
  <p><a href="https://i.stack.imgur.com/vKslw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vKslw.png" alt="enter image description here"></a></p>
  
  <p>Now I need to drag it aroud by changing the label pixelOffset. Is there a way to make all 4 labels be considered as one and get dragged together?</p>
  
  <p>This is what I have so far, but each line moves individually:</p>
  
  <pre><code>pointCollection = scene.primitives.add(new Cesium.BillboardCollection());
  labelCollection = scene.primitives.add(new Cesium.LabelCollection());
  
  pointCollection.add({
      position: pos,
      id: id+ 'point',
      image: pinBuilder.fromColor(Cesium.Color.SALMON, 48)
  });
  
  labelCollection.add({
      position: pos,
      id: id + 'label1',
      text: 'Linha1',
      font: '15px Helvetica',
      fillColor: Cesium.Color.WHITE,
      outlineColor: Cesium.Color.BLACK,
      style: Cesium.LabelStyle.FILL,
      pixelOffset: new Cesium.Cartesian2(-20, 37)
  });
  labelCollection.add({
      position: pos,
      id: id + 'label2',
      text: 'linha2',
      font: '15px Helvetica',
      fillColor: Cesium.Color.WHITE,
      outlineColor: Cesium.Color.BLACK,
      style: Cesium.LabelStyle.FILL,
      pixelOffset: new Cesium.Cartesian2(-20, 50)
  });
  labelCollection.add({
      position: pos,
      id: id + 'label3',
      text: 'linha3',
      font: '15px Helvetica',
      fillColor: Cesium.Color.WHITE,
      outlineColor: Cesium.Color.BLACK,
      style: Cesium.LabelStyle.FILL,
      pixelOffset: new Cesium.Cartesian2(-20, 65)
  });
  labelCollection.add({
      position: pos,
      id: id + 'label4',
      text: 'linha4',
      font: '15px Helvetica',
      fillColor: Cesium.Color.WHITE,
      outlineColor: Cesium.Color.BLACK,
      style: Cesium.LabelStyle.FILL,
      pixelOffset: new Cesium.Cartesian2(-20, 80)
  });
  
  var dragging = false;
  
  handler.setInputAction(
      (click) =&gt; {
          pickedObject = scene.pick(click.position);
          console.log('teste', pickedObject);
          if (pickedObject &amp;&amp; pickedObject.primitive instanceof Cesium.Label) {
              dragging = true;
              initialPositionX = click.position.x - diffX;
              initialPositionY = click.position.y - diffY;
              scene.screenSpaceCameraController.enableRotate = false;
              scene.screenSpaceCameraController.enableTranslate = false;
          }
      },
      Cesium.ScreenSpaceEventType.LEFT_DOWN
  );
  
  handler.setInputAction(
      (click) =&gt; {
          if (!dragging) return;
          console.log(pickedObject.primitive.pixelOffset);
          diffX = click.endPosition.x - initialPositionX;
          diffY = click.endPosition.y - initialPositionY;
          pickedObject.primitive.pixelOffset = &lt;any&gt;(new Cesium.Cartesian2(diffX, diffY));
      },
      Cesium.ScreenSpaceEventType.MOUSE_MOVE
  );
  
  handler.setInputAction(
      (click) =&gt; {
          dragging = false;
          scene.screenSpaceCameraController.enableRotate = true;
          scene.screenSpaceCameraController.enableTranslate = true;
      },
      Cesium.ScreenSpaceEventType.LEFT_UP
  );
  </code></pre>
  
  <p>I would also like some suggestion about how could I set the offset correctly, because when I drag one label, then click to drag another one the offset starts wrong.</p>
  
  <p>Thanks a lot!!</p>