ThinkGeo.com    |     Documentation    |     Premium Support

Rotating the marker image on marker creation

Hi guys,


I'm trying to display an arrowhead (in the form of a marker) on one end of a line to show the direction of the line. When I add the marker to the marker overlay, I need to rotate the arrow head image to point it towards the required direction. After creating the marker object, I set the ImageRotationAngle of the marker and add the marker to the marker overlay. The marker image displays at the correct position but the image is not rotated. I've also found that setting the ImageRotationAngle of an existing marker however rotates the image. I even tried the same thing in the LabelRotateAMarker sample by setting the ImageRotationAngle of the marker on the load function but the marker image does not rotate. But it works when I set it in the Button_Click function.




// Adding a new marker 
Marker marker = new Marker(-94.558, 39.078); 
marker.ImageSource = new BitmapImage(new Uri("../../Theme/GREEN.png", UriKind.RelativeOrAbsolute)); 
marker.ImageRotationAngle += 20; // This does not rotate the image markerOverlay.Markers.Add(marker); 

// Modifying existing marker 
SimpleMarkerOverlay markerOverlay = Map1.Overlays["SimpleMarkerOverlay"] as SimpleMarkerOverlay; 
Marker marker = markerOverlay.Markers[0]; 
marker.ImageRotationAngle += 20; // This rotates the image 


Am I missing something here?


Thanks,


Nirish



Hi Nirish,


We have tested your code and we found that this is really a bug in our Silverlight Edition. We have added this issue into our tracking system, and it could be fixed in the next public release version. 
Thanks for reporting this issue to us and sorry for the inconvenient.
Any more questions please let us know.
Thanks,
Sun 

Hi Sun, 
  
 I downloaded the new public release Version 3.1.299 yesterday. But now it seems the image rotation feature is broken completely. The image does not rotate on creation or modification of a marker when I set the image rotation angle. I’ve also tried refreshing the marker overlay and the map. 
  
 Thanks. 
  
 Nirish

Nirish, 



Unfortunately, this fix is not integrated in our latest release; I'm sure I have fixed this issue in our temporary version; please contact our support if you need it. On the other hand, I have a work around for you temporary which add a RotationTransfrom object to the marker. Please see the code below.

RotateTransform rotation = new RotateTransform();
rotation.Angle = 30;
marker.RenderTransform = rotation;



Please have a try and let me know if you have any questions.



Thanks,

Howard



Thanks Howard. That works. Just one issue though: the popup also rotates with the image. Is it possible to keep the popup in the original position?

Hi Nirish, 
  
 The workaround rotates the whole marker control; the hover popup is a child of the marker; so that it rotates with the Marker. In our product, the marker image and popup are at the same level, so the popup doesn’t rotate with the marker image. We tested our latest build and it works fine. We’ll send you our Dll package today. 
  
 Please let me know if you have more questions. 
  
 Thanks, 
 Howard