ThinkGeo.com    |     Documentation    |     Premium Support

Layer dissappears at lower zoom levels

Hello.


I'm adding a layer to my map that appears only at zoomlevel07 and above. I have set the defaultLineStyle on each level explicitly, but it still does not appear. Using V3.1. Can you please advise? Upgrading not an option at this time.


Code follows:



 Private

 



  Sub RenderYoko(ByRef layer As ShapeFileFeatureLayer)   "Yoko"

layer.RequireIndex =


False

 


Dim proj4 As Proj4Projection = New Proj4Projection()

 


proj4.InternalProjectionParametersString = internalProjectionString


Dim internalProjectionString As String = Proj4Projection.GetEpsgParametersString(2451)

proj4.ExternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326)



 


 


layer.FeatureSource.Projection = proj4layer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)

layer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel02.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel02.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel03.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel04.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel05.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel06.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel07.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel08.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel09.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel10.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel11.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel12.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel13.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel14.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel15.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel16.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel17.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel18.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel19.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


layer.ZoomLevelSet.ZoomLevel20.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red)


 



staticLayers.Add(layer)


 


     End Sub

 





layer.Name =



Hello Eric, 
  
 Thanks for your post, you said you are using version 3.1? It’s really old and now we have newest version 6.0, add more function and has the better performance, I strongly recommend you upgrade to 6.0 
  
 For your problem, sorry I’m confused by this part of code: 
 layer.FeatureSource.Projection = proj4layer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle.OuterPen.Color = GeoColor.FromArgb(50, GeoColor.StandardColors.Red), I think this is some format problem, your original code should be  layer.FeatureSource.Projection = internalProjectionString, but now I’ve know idea what’s the proj4layer. 
  
 Could you please attachment your code in a text file or zipped cs file? 
  
 Also you didn’t need to set the defaultLineStyle on each level explicitly, just use ApplyUntilZoomLevel, it’s easier and works good. 
  
 Regards, 
  
 Gary

Hi, Gary.


Thanks for getting back to me. I'm not surprised by your confusion over that line of code. Interestingly enough, it does not appear in my file. It must be some sort of cut/paste artifact. Please ignore it. I've included a text file attachment which I hope will be better. As far as the ApplyUntilZoomLevel, I must disagree with your assertion. It definitely does NOT work, at least not in V3.


 


 



MapSuite.txt (3.28 KB)

Hello Eric, 
  
 Thanks for your code, your code does not have problem, just one thing I want to confirm, what’s the map unit you are using? because you are translate the map unit from meter to decimal degree, is this what you want? If not, just change the externalProjection and internalProjection. 
  
 If this does not fix the problem, is that possible you can upgrade to the 6.0? Sorry I don’t have environment to test 3.0 project. 
  
 Regards, 
  
 Gary

Well, the projection seems to work, as the few zoom levels I can see are aligned beautifully. I have downloaded a trial version of V6, and the zoom problem is resolved there with no change in code, so I guess the project is dependent on purchasing that upgrade. I would re-evaluate that as a business model, by the way.


Other than that, I have a new thread asking about how to translate my layer to make a better fit with the World Map Kit, but I'll just wait on that one separately.


Thanks


 



Hello Eric, 
  
 No problem, just let us know your questions. 
  
 Regards, 
  
 Gary