ThinkGeo.com    |     Documentation    |     Premium Support

Markers on multiple overlays are not displayed on map

I have two sets of locations that I want to mark in different color. I want to be able to switch show/hide of the sets independently. I place markers on two overlays. But it only shows the marker on the overlay added the last. Does my code miss anything or is it not the right approach?


 


private void Form2_Load(object sender, EventArgs e)

{

winformsMap1.MapUnit = GeographyUnit.DecimalDegree;


winformsMap1.CurrentExtent = new RectangleShape(-155.733, 95.60, 104.42, -81.9);

WorldMapKitWmsDesktopOverlay worldMapKitOverlay = new WorldMapKitWmsDesktopOverlay();

winformsMap1.Overlays.Add(worldMapKitOverlay);


Feature feature;

feature = new Feature(-95.2806, 38.9554);

feature.ColumnValues.Add("Name", "A");

AddMarkerOverlay(feature, 0);

feature = new Feature(0, 0);

feature.ColumnValues.Add("Name", "B");

AddMarkerOverlay(feature, 1);

winformsMap1.Refresh();

}


private void AddMarkerOverlay(Feature newFeature, int image)

{

InMemoryMarkerOverlay markerOverlay = new InMemoryMarkerOverlay();

markerOverlay.MapControl = winformsMap1;

markerOverlay.Columns.Add(new FeatureSourceColumn("Name"));

if (image == 1)

{

  markerOverlay.ZoomLevelSet.ZoomLevel01.DefaultPointMarkerStyle.Image = Properties.Resources.ORANGE;

}

else

{

  markerOverlay.ZoomLevelSet.ZoomLevel01.DefaultPointMarkerStyle.Image = Properties.Resources.AQUA;

}

markerOverlay.ZoomLevelSet.ZoomLevel01.DefaultPointMarkerStyle.Width = 20;

markerOverlay.ZoomLevelSet.ZoomLevel01.DefaultPointMarkerStyle.Height = 34;

markerOverlay.ZoomLevelSet.ZoomLevel01.DefaultPointMarkerStyle.YOffset = -17;

markerOverlay.ZoomLevelSet.ZoomLevel01.DefaultPointMarkerStyle.ToolTipText = "This is [#Name#].";

markerOverlay.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;

winformsMap1.Overlays.Add(newFeature.ColumnValues["Name"].ToString(), markerOverlay);


markerOverlay.FeatureSource.BeginTransaction();

markerOverlay.FeatureSource.AddFeature(newFeature);

markerOverlay.FeatureSource.CommitTransaction();

 


}


 


Thanks


Yi



Hi Yi, 
  
 Thanks for your post. 
  
 You code looks great and it also works fine. The issue which the last marker overlay would overlap the previous has been fixed sometime ago. So, could you get the latest version 6.0.0.318 or 6.0.318.0 and then have a try? 
 Hope this information would be helpful and have a good journey on Map Suite. 
  
 If you have any other question, please feel free to let us know. 
  
 Best regards, 
 Edgar

Edgar, 
  
 That works! Thank you. 
  
 Yi

Edgar, 
  
 That works! Thank you. 
  
 Yi

Edgar, 
  
 That works! Thank you. 
  
 Yi

Edgar, 
  
 That works! Thank you. 
  
 Yi

Edgar, 



That works! Thank you. 

 


Another question: On a button click event, I am trying to hide one of the overlays by doing this:



{



markerOverlay2.IsVisible = false;


winformsMap1.Refresh();


}



However, the markers on the overlay still show up on the map until I pan the map. Should I use something else other than or in addition to Refresh()?


Thanks




Yi




Yi, 
  
 This bug has been fixed, please get the 6.0.320.0 or 6.0.0.320 and have a try, 
  
 Regards, 
 Edgar

Hi Edgar,


I downloaded 6.0.0.320 and it still does not work. Set IsVisible to true and refresh, markers are displayed correctly. But set IsVisible to false and refresh, markers remain on the map.


I also have another similar problem. On the first SimpleMarkerOverlay, I have a set of markers. After I change to a different set of markers on the overlay and refresh, the previous set of markers remain on them.


There are two SimpleMarkerOverlay overlays and an OpenStreetMap overlay in both of the above scenarios.


Thanks,


Yi



Hello yi, 
  
 Thanks for your further information, we have solved this bug, would you please get the newest version(6.0.323.0 or later), and have another try? 
  
 Regards, 
  
 Gary

Hello Gary, 
  
 The latest version I can find on Customer Portal is 6.0.0.322. I downloaded that and it does not fix the problem. I guess I should wait for 323 and try again. 
  
 Thanks, 
 Yi

Hello yi, 
  
 Sorry there was some problem on daily build, you can try 6.0.324.0 or later and please notice 6.0.324.0 is development version, 6.0.0.324 is release version, for now, we don’t synchronize the bug fix to release, so please try development first. 
  
 Thanks, 
  
 Gary

Hi Gary, 
   
 I am sorry for the slow response. I had been on vacation. 
   
 I got the latest version 6.0.0.345, and it works! Previous markers get cleared correctly. 
   
 Thank you very much for your help. 
   
 Yi 
   
 -------------------------------------------- 
 Gary 4/11/2013 4:52:19 AM said: 
  
 Hi Yi 
   
 Thanks for your further information, we have fixed the bug, would you please get the latest version 6.0.333.0 or 6.0.0.333. 
   
 If you have any questions, please feel free to ask. 
   
 Best Regards 
   
 Gary 
   


Yi, 
  
 Glad to hear it helps, if you have any questions please let us know. 
  
 Regards, 
 Edgar