ThinkGeo.com    |     Documentation    |     Premium Support

Advise needed on upgrade from MapSuite 2.0 to 5.5

Hello,


We are currently in the process of upgrading our Winforms application from MapSuite 2.0 to MapSuite 5.5. This is not a straight-forward process, and I am looking for some advise in this regard.


We are currently using DynamicLayer with MapShapes, which needs to be selectable (clickable) and should display a popup on mouse over. It can be many thousands of shapes so performance is critical.


Which layer/overlay is best suited for this task? InMemoryMarkerOverlay, InMemoryFeatureLayer or SimpleMarkerOverlay? And how do I wire up the "feature selected" event for this?


If you have some general advise on how to upgrade from MapSuite 2.0 that would be greatly appreciated.


Thanks,

Sindre



Hi Sindre,
 
The current version is 6.0 and it will be upgraded to 7.0 in May, so we suggest you to upgrade to 6.0 instead of 5.5.
 
Besides, there is no popup component is desktop edition, you can have a try with the WPF Edition, as there are thousands of features so we don’t think use mouse over to display a popup is a good idea, here is the sample code , please have a try.
 
Regards,
Edgar

post11104.txt (2.16 KB)

Edgar, 
  
 Thank you for your comment. I understand that an upgrade to 6.0 would be the preferred option, but since we already have a license for 5.5 and we can get by with the features in 5.5, I am not sure if upgrade to 6.0 is a viable option. Migrating to WPF would be a larger task given the mapping component is only a small part of our application, and we don’t have plans to rewrite the entire application for WPF anytime soon. 
  
 Tool tips were supported in version 2.0 and the performance was decent with thousands of features. Why can’t this be supported in newer versions?

 Hi Sindre,



 Thanks  for your post. As for your questions “Which layer/overlay is best suited for this task? InMemoryMarkerOverlay, InMemoryFeatureLayer or SimpleMarkerOverlay? And how do I wire up the "feature selected" event for this?”, here are some hints:


 Since we would like to load thousands of features which need to display a popup, I guess both InMemoryMarkerOverlay and SimpleMarkerOverlay are not suitable for this scenario, because thousands of marker controls would be generated and runs into bad performance. So, Edgar’s solution looked great as only when click on a shape, the popup would be shown on the fly. Actually, Edgar’s idea have solved your "feature selected" event problem and if we move those codes to the “MouseHover” event, displaying a popup on mouse over would be solved too.


 But here is a new challenge: after registering the “MouseHover” event for the map, the query for getting the current feature would always be executed while hovering on map. This also would be resulted to a bad performance. In this situation, a work around is we can overwrite the hovering event to support a delaying mouse hover. For example the event is only fired at least one second hovering on a place. 


As for why we remove the tooltip from Feature 2.x version. Here is a similar post, please check it:


gis.thinkgeo.com/Support/Dis...fault.aspx


 


Best regards, 


Johnny



Johnny, 
  
 Thank you for your comment. I have now successfully converted most of the solution to MapSuite 5.5, using InMemoryFeatureLayer and your suggestions. I guess the InMemoryFeatureLayer does not have mouse events for each feature so I need to query the layer for features based on the mouse position. 
  
 Do you have an example/pseudo-code on how to solve this? 
  
 "In this situation, a work around is we can overwrite the hovering event to support a delaying mouse hover. For example the event is only fired at least one second hovering on a place."

Never mind… I added a delay mouse hover by using a timer.

I have one question, though. Right now, when I select a feature on the map the layer flashes for a split second because the layer is refreshed after changing the style. Is it possible to do the selection on an InMemoryFeatureLayer without the notable flash/flickering of the layer?



 Hi Sindre, 


Seems that we are unable to get hte flickering problem on our end with 11000 points, the attached is our test sample, would you please check it and tell us what we missed in our sample, or give us a highly-appreciated sample to recreate the problem. 


Regards, 


Johnny



001_Post11104.txt (1.74 KB)