ThinkGeo.com    |     Documentation    |     Premium Support

Custom MarkerStyle

Are there any samples of using multiple markers (ie different images for imagesource)?  I am looking to have 1 inmemorymarkeroverlay that can have 3 different images for the markers depending on the name of the feature being added.


I know the web edition has a ValueMarkerStyle that can be used for this purpose, but I don't see the equivalent for WPF edition. 


 


Thanks.


 



Hi Jake, 



We haven't implemented that style for markers in WPF Edition yet. There are two ways to do it by now. 



1. Write a sub-class of MarkerStyle, overirde the GetMarkers method; in this method, create different markers based on 

different column values of the Features that passed in the method. 



2. Use MapShapeLayer, it is in the ThinkGeo.MapSuite.Core namespace. It has a collection of MapShapes(MapShapes are like Features), you can set different styles for different MapShapes. 



Sorry for the inconvenience and please feel free to let us know if you have any other questions. 



Regards, 

Tsui



That worked well, creating a new marker style.


I am wondering now if there is a way to create a marker not using an icon file, but rather use a custom shape created using a pointstyle?  Will I need to create a custom overlay that allows this functionality?


 


 



Hi Jake, 



There is a way to do that, it’s similar to the way we talked about in the last post. 



Create a new class that inherits MarkerStyle; add a property that represents the shape of the marker, its type could be an enum called MarkerShape, and the name of the property could be Shape.  

And of course we’d need some private methods to create those shapes defined in the namespace System.Windows.Shapes. Then in the GetMarkers method, instead of setting the markers’ ImageSource, we can create shapes based on the Shape property we just added and then set them to markers’ Content. 



Hope this will help and please let us know if you have any other questions. 



Regards, 

Tsui



I have the above questions working well, now I am trying something new again.  Is there a way to join 2 existing markers into 1?  For instance, if I have a tear drop pointing to x,y that is blue, and a tear drop shape pointing to the same x,y coordinate, can I join those 2 markers together so if you drag 1 you will drag both of them? 
  
 I have several IDs that can be tied together if it needs to be done on column values. 
  
 If it helps, think of 2 car icons, a car and a truck.  When I move the car, I want the truck to move along with it. 
  


Hi Jake, 



I understand you scenario. Please check the attached sample which directly changed from our integrated sample. Please replace the cs code with the same sample file name. Hope it helps.



Thanks,

Howard



UseDraggableMarker.xaml.cs.txt (5.02 KB)

That does help, I guess my question would be does this also work for InMemoryMarkerOverlay as we don't have access to MarkerDragging and MarkerDragged events.





Hi Jake, 



We don't support it temporary. Some structure for InMemoryMarkerOverlay is not fit for doing dragging feature. Sorry for the inconvenience. It's a cool feature actually, and we will carefully consider to add it later.



Thanks, 

Howard



Howard, 
  
       I have a custom marker class that uses Content to display a colored shape, I can’t use icons for the markers and this was the suggested work around.  I also want to label the markers.  Currently we are using tooltip to hold the label and are looking for a way to either have this label always on, or add a label to the marker itself that a user can turn off/on.  Is there a way to add labels to markers like there is for features on an inmemoryfeaturelayer?  How would you suggest I proceed with the requirement of labels on markers? 
  
 Jake

Hi Jake, 



My idea is rewrite a new marker as well as its template. We can add a new LabelContent property for the marker object so that you can place your markers. Please see my attached sample which directly modify from our integrated samples.



Hope it helps and feel free to let us know if you have any more queries.



Thanks,

Howard



005_004_003_002_001_Markers.zip (1.63 KB)