ThinkGeo.com    |     Documentation    |     Premium Support

Minimap doesn't refresh when OverlaySwitcher change baseoverlay?!

 hi dears


 


have a problem !


we have two overlay one of them is some shap layer added to staticoverlay and another is google overlay that added to a customoverlay , minimap and overlayswitcher are enabled.


at here when switch between overlays in overlayswitcher minimap only show map in staticoverlay and when we switch to 


google ovelay it shows nohing , (when we get back to server it show that) i don't know why ? 


in client side it does not work, is there a sloution ? 


 


best regards


 



Hi Hossein,  



Thanks for reporting this issue. I did some testing and found this a bug with the minimap. This will be reported to our development team for review and we will inform you as soon as a fix is available.



Hi Hossein,


We have a workaround for the current behavior.


The first thing is registering a client side event that raises when client base overlay changed. The code is:


Map1.MapTools.OverlaySwitcher.OnClientBaseOverlayChanged = "onLayerChanged";
 
 


 


In the Markup create a script type section.



<head id="Head1" runat="server">
    <link href="~/theme/default/samplepic/style.css" rel="stylesheet" type="text/css" />
    <title>Use Google Map</title>    
    <script type="text/javascript">
    </script>
</head>
 

Add the following JavaScript function as shown below to the script type section.



function onLayerChanged(layerName) {
            var map = Map1.GetMapParser().map;
            var controls = map.getControlsByClass('OpenLayers.Control.OverviewMap');

            if (controls.length > 0) {
                map.removeControl(controls[0]);
                map.addControl(new OpenLayers.Control.OverviewMap({
                    maximized: true
                }));
            }
        }


 Posted By Ryan on 12-08-2011 09:05 AM 

Hi Hossein,


We have a workaround for the current behavior.


The first thing is registering a client side event that raises when client base overlay changed. The code is:




Map1.MapTools.OverlaySwitcher.OnClientBaseOverlayChanged = “onLayerChanged”;


 

 


 


In the Markup create a script type section.



<head id=“Head1” runat=“server”>
    <link href="~/theme/default/samplepic/style.css" rel=“stylesheet” type=“text/css” />
    <title>Use Google Maptitle>         <script type=“text/javascript”>     script> head> 

Add the following JavaScript function as shown below to the script type section.



function onLayerChanged(layerName) {
            var map = Map1.GetMapParser().map;
            var controls = map.getControlsByClass(‘OpenLayers.Control.OverviewMap’);

            if (controls.length > 0) {
                map.removeControl(controls[0]);
                map.addControl(new OpenLayers.Control.OverviewMap({
                    maximized: true
                }));
            }
        }



 


 


 In Bing map and Yahoo ,mini map is not show.




And WMS layer mini map is bug, when I panning or zoom out mini map is wrong  position(I mean wrong corrdinate).


when I zoom in mini map can get correct position.




And Other Layer It work fine.


 



Hi sumeth,


I setup a sample to load the different layers have you but did not have all of the same results.


1. The Bing Maps Layer displays properly in the MiniMap when displaying Aerial, Hybrid, Oblique, Road, and Shaded options when set in source code.


2. The Yahoo Maps have an issue. I have reported this to the development team for further review.


3. In panning and zooming using the WMS Overlay I did not see any issues. Did you perhaps change the Map1.MapUnit to a different value? Also in your screenshot it seems you have the WMS Overlay enabled as well as some additional overlays. Are these addtional Overlays in the same projection as the WMS Overlay which is in Geodetic/WGS84/DecimalDegrees?



 Posted By Ryan on 12-09-2011 05:53 PM 

Hi sumeth,


I setup a sample to load the different layers have you but did not have all of the same results.


1. The Bing Maps Layer displays properly in the MiniMap when displaying Aerial, Hybrid, Oblique, Road, and Shaded options when set in source code.


2. The Yahoo Maps have an issue. I have reported this to the development team for further review.


3. In panning and zooming using the WMS Overlay I did not see any issues. Did you perhaps change the Map1.MapUnit to a different value? Also in your screenshot it seems you have the WMS Overlay enabled as well as some additional overlays. Are these addtional Overlays in the same projection as the WMS Overlay which is in Geodetic/WGS84/DecimalDegrees?



 


1.Video for  Bing Map : mediafire.com/?hcrmv5a73vqkp9k 


  I use page UseBingMap in sample code. 


 


 


3. Video for wms :mediafire.com/?631fpekxf0n22t1


I edit code in LoadAWmsOverlay page from sample code :


 public partial class LoadAWmsOverlay : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.StandardColors.White);
                Map1.CurrentExtent = new RectangleShape(10836250.0472719, 2328225.56066376, 11759466.9830867, 625833.622052803);
                Map1.MapUnit = GeographyUnit.Meter;

                WmsOverlay wms = new WmsOverlay("WMS Overlay");
                wms.Parameters.Add("layers", "Countries02");
                wms.Parameters.Add("STYLE", "SIMPLE");
                wms.ServerUris.Add(new Uri("wmssamples.thinkgeo.com/WmsServer.aspx"));
                wms.TileType = TileType.MultipleTile;
                wms.TileHeight = 256;
                wms.TileWidth = 256;


                wms.SetBaseEpsgProjection("EPSG:900913");
                Map1.CustomOverlays.Add(wms);

                Map1.MapTools.MiniMap.Enabled = true;
            }
        }
    }

 


and I test with not set projection(Original code). I think It has problem when panning.


this video : mediafire.com/?9z89yo3c4j3jnbs


 



Sumeth,  



Thanks for providing the videos.  



While I did see the issues you encountered with the BingMap Overlay I am not able to recreate the issue within my environment. Can you provide me the exact code you are using and the steps you are following to recreate this issue? 



The WMS Server you are accessing in this sample, served up from wmssamples.thinkgeo.com, is a very simple WMS implementation designed to display a single shapefile for example purposes of the UseGoogleYahooWms sample application. Thus I would not recommend using it for extensive testing. I would highly recommend using our fully featured WorldMapKitWmsWebOverlay as the WMS Overlay to test the minimap.  

The WorldMapKitWmsWebOverlay is a fully functional WMS server that can serve as a much more reliable WMS datasource.This Overlay does also have this issue you encountered in item #3 where the minimap extent toggles when panning the main map, but this is a fully tested WMS server that does not have this issue with disappearing tiles. 



An internal issue has been created for the issue of the 'toggling' minimap zoomlevels. I will update you when I have any new information to provide.



Sumeth,  



For the 'toggling' issue changing the Maximize/MinimizeRatio of the MiniMap resolves the issue. Try changing these values as shown below: 

Map1.MapTools.MiniMap.MaximizeRatio = 24; 

Map1.MapTools.MiniMap.MinimizeRatio= 20; 



With the above values set the extent of the minimap does not change as the main map is panned.


The Yahoo! Maps are no longer available. Please see the notice here: developer.yahoo.com/maps/



that solve for worst coordinate for wms.



But it can't solve Bing Map not show in minimap. 



I don't know why. 



thank you very much Ryan.



Hello sumeth, 
  
 In another post, you said the googlemap has problem in the worst coordinate, is that possible you can provide a solution contains both google and bing, I can help you to resolve them all together. 
  
 Regards, 
  
 Gary

All above is test with Mapsuite V5.0 
 In this topic I mean another wms except google map. 
  
 And now I change to Mapsuite  V5.5  
 Bing map is work fine. Now it show on minimap. 
  
 thank you for help me Gary,Ryan. 


Hello sumeth, 
  
 I’m glad it’s working now, please feel free to let us know your problem. 
  
 Regards, 
  
 Gary