ThinkGeo.com    |     Documentation    |     Premium Support

Markers getting mis-aligned with map when panning/zooming the map with server side caching

Hi,


I am new to ThinkGeo MapSuite Web Edition. I am developing an application which shows markers on the map based on the search criteria. When I enable Server Caching,  panning/zooming the map causes markers to move to random locations and they do not remain attached to the map. Please find portion of code from my program below.


//To use Server Caching


 shapeOverlay.ClientCache.CacheId = "rigLocator_Nand_ThinkGeo";

 shapeOverlay.ServerCache.CacheDirectory = MapPath("~/ImageCache/" + Request.Path);

 Map1.CustomOverlays.Add(shapeOverlay);


..............................


//To add marker overlay to the map


  markerOverlay = new SimpleMarkerOverlay();

  markerOverlay.Markers.Add(markerTest);

  Map1.CustomOverlays.Add(markerOverlay);


Please have a look at the attached document which contains screenshots of the map navigation. The map navigation does not create any issue with markers if I just use Client side caching. Please look into this problem as soon as possible, because we have to make a decision regarding purchasing MapSuite soon.  Please let me know if you need more information.


Thanks and Regards,


Nand


 



1782-Map_Markers.pdf (254 KB)

Nand, 
  
 Thanks for your screenshots. I think it causes by the server side cache. Please try to clear the client cache which means clear the web browser cache; and clear the server cache directories to see if the new cache files are matched correctly.  
  
 On the other hand, we need to make sure whether the cached images or the markers shifts. So we can add an un-cached overlay which contains a InMemoryFeatureLayer; then add a vector such as a bounding box of the base layer. Try to zoom in/out and see which overlay shifts. Please send the screenshots to us if possible. 
  
 It will be great that to provide us your shape files and your code so that we can recreate your issue easily. If the data size is too big to post here, please send it to support@thinkgeo.com and ask them to forward to me. 
  
 Thanks and let me know if you have any questions. 
  
 Thanks, 
 Howard 


Hi Howard, 
  
 Thank you so much for your prompt reply. I have followed your suggestion as I cleared client side caches as well as deleted server-cache directory. However, issue is not solved and there is misalignment between the map and marker. 
  
 I looked carefully at which overlay shifts and I am pretty sure that marker moves correctly, but map does not. When I keep the mouse pressed and pan the map it shifts, but as soon as I leave the mouse map goes back to its earlier position. Earlier, I thought that this is a misalignment issue with marker and the map, but it seems that panning the map does not work correctly when server caching is enabled. I really don’t know why this is happening as I did not notice this problem when I used MapSuite for the first time between June-August last year. 
  
 My code is using many shape files to create the map. I may try to send you a scaled down version. The marker is displayed based on search results obtained from the database which you may not be able to access. Moreover, this may be a general issue and not a data specific issue. 
  
 I will look forward to your reply. Thanks a lot! 
  
 Regards, 
 Nand 
  


Nand, 
  
 I see, I agree with you that it’s the cached tile shifts. I guess it’s the issue from the algorithm of calculating the tiles on our side. Please use un-cached map temporary and continue on the project. Sorry that we are on vacation and I do not have the environment to test. Please give us some time to do some research on the cached tiling and let you know the result this weekend. 
  
 Thanks, 
 Howard

Hi Howard, 
 Greetings! 
  
 Appreciate your prompt reply again. I will not use server side caching for now. I will wait for the fix.  
  
 Regards, 
 Nand

 


Nand,
 
We can’t recreate the mentioned issue, I’m not sure if there is any thing missed. Please have a look at the attached test demo, and let us know whether there is some differences from yours.
 
Thanks,
 
Johnny

1802-CacheWithMarker.zip (2.14 KB)

Howard, 
  
 Thank you so much for the reply and attaching the sample code. I found the culprit in my code as I was using TileType as SingleTile: 
 LayerOverlay shapeOverlay = new LayerOverlay("Shape Overlay", false, TileType.SingleTile); 
  
 The map navigation is working fine with markers when I am using "MultipleTile" as: 
 LayerOverlay shapeOverlay = new LayerOverlay("Shape Overlay", false, TileType.MultipleTile); 
  
 Regards, 
 Nand

Nand, 
  
 The “MultipleTile” should be chosen if the map is used with caching. Here are two reasons: 
 1. The cache system needs to save a new image as soon as the extent of map changs very small if we use “SingleTile” 
 2. The images loading with cache is much slower than the one with non-cache for “SingleTile” 
  
 So we strongly recommend you to use “MultipleTile” if you can. 
  
 Thanks, 
  
 Johnny,