ThinkGeo.com    |     Documentation    |     Premium Support

WMS layer + Google Maps layer

I have a problem on a project wich displays datas from WMS and Google maps.


Maybe a projection problem ?


When I switch to Google maps background the WMS layer gets pulled a little down and left so that it does no longuer match with the Google maps background.


Could you please take a look at the screenshots and the sample project below ?


Thank you.


4shared.com/get/YMemLp0Q...Layer.html



2011-12-01_092632.jpg (42.8 KB)
2011-12-01_092655.jpg (75.7 KB)
2011-12-01_092711.jpg (49.5 KB)

Hello Gautier, 
  
 Thanks for your post and your sample, I can see you use GeographyUnit.Meter as your map unit in your sample, do you know what’s the map unit in your WMS server?  This looks like is a projection problem, if the unit in WMS server is as same as google , it’s fine, otherwise, you need use Proj4Projection to keep them in same projection. 
  
 Please let us know if you still meet the problem. 
  
 Regards, 
  
 Gary

After some testings I noticed that this happens only when serverCache is enabled ! 
 You can trye my sample and then comment the server cache line and you will see it does not occur any more… 
 Any idea ? 
 Thanks

Hello Gautier, 
  
 Could you please give me some guide to let the sample looks like your picture? Which check box should I check? 
  
 Thanks for your patience. 
  
 Regards, 
  
 Gary

for exemple on my screenshot it’s Google maps and limites administratives and routes

Any news on this problem ?

Hello Gautier, 
  
 Thanks for your sample, I can recreate the problem follow your instruction, looks like the problem is in the cache, I have created a issue for this, our product team will find the root cause, I will let you know the result as soon as possible. 
  
 Sorry for the inconvenience. 
  
 Regards, 
  
 Gary

Any updates on this problem ? 
 Thank you.

 Hello Gautier,


 
Thanks for your patience and sorry for delay, we have fixed this problem, please add the following Javascript into the header to fix it. The fix is also added into the web edition so you can still use it with the web edition version 5.5.28.0. 
 

var OnMapCreating = function (map) { 
if (mapParser != null) { 
var oldGetLayerFunction = mapParser.prototype.getLayerOverlay; 
mapParser.prototype.getLayerOverlay = function (json, mapClientId) { 
var element = oldGetLayerFunction.apply(this, arguments); 
if (json.projection.toUpperCase()) { 
var googleTemplate = new OpenLayers.Layer.Google(); 
element.addOptions({ maxResolution: googleTemplate.maxResolution, maxExtent: googleTemplate.maxExtent }); 

 
return element; 
}; 



 
Please let us know if you still meet problem.
 
Regards,
 
Gary

I tested my project again with your script included but it doesn’t change anything… 
 Any other idea ? 
 Thank you.

 Hello Gautier,


 
As my test, the problem has fixed with the code below:
 


<form> id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <cc1:Map ID="Map1" runat="server" Width="100%" Height="100%"></cc1:Map>
</form>

<script language="javascript">
    var OnMapCreating = function (map) {
        if (mapParser != null) {
            var oldGetLayerFunction = mapParser.prototype.getLayerOverlay;
            mapParser.prototype.getLayerOverlay = function (json, mapClientId) {
                var element = oldGetLayerFunction.apply(this, arguments);
                if (json.projection.toUpperCase()) {
                    var googleTemplate = new OpenLayers.Layer.Google();
                    element.addOptions({ maxResolution: googleTemplate.maxResolution, maxExtent: googleTemplate.maxExtent });
                }
 
                return element;
            };
        }
    } 
</script>

 
Are you using like this way?
 
Regards,
 
Gary

Yes of course that's what I did according to your last message.


Are you sure you enabled server cache and deleted all old files from the cache folder ?


I updated my sample project so you can check at 4shared.com/get/YMemLp0Q...Layer.html


 


 



 Hello Gautier,


 
Thanks for your sample, I have tested on it, but looks like the problem have already fixed, I'm sure I have enabled the server cache and deleted all old files, please see the attached file.
 

Regards,
 
Gary

 It looks like your script solves the problem for zooming in and out but not for the first load of the page.


I made a little screen cast so you can see what I mean, could you please take a look at it and give me your advice: screencast.com/t/BWePjKbqfZe


Thank you very much.



Hello Gautier, 
  
 Thanks for the video, I can see the problem, but I can’t recreate it with the sample you provide last time. The picture I attached is the first load. 
  
 And I noticed your overlay’s background is transparent but I got the white, is there some code difference? 
  
 Thanks, 
  
 Gary

no the project is the same as last time, did you emptied your browser’s cache ? 
 thanks.

Hello Gautier, 
  
 Yes, I have deleted all cache files. 
  
 Could you please tell me your full environment, I can do some test in virtual machine. 
  
 Regards, 
  
 Gary

 Hi,


I just updated my project, you can download it from 4shared.com/rar/YMemLp0Q...Layer.html to be really sure we are using the same latest version.


My test environment is DELL Vostro 3700, Intel Core i5 M560 @ 2.67Ghz, RAM 4Go, 32 bits System, Windows 7, IE 9.0.8112.16421, Visual Studio 2010 Ultimate, Mapsuite Dlls V 5.5.0.59


It also happen on the latest versions of Chrome and Firefox so I don't think it's a browser issue.


I can reproduce the bug each time I empty the ImageCache folder and reload the page as you can see on the screen cast so it's not random.


Can I do something else to help you reproduce the bug and correct it please as it is becoming rather urgent please.


Thank you very much for your help.



 Posted By Gary on 01-10-2012 01:44 PM 

Hello Gautier, 



Yes, I have deleted all cache files. 



Could you please tell me your full environment, I can do some test in virtual machine. 



Regards, 



Gary 



I was talking here about  browser’s cache : " did you emptied your browser’s cache " just in case :)


 



 Hi,


I just updated my project, you can download it from 4shared.com/rar/YMemLp0Q...Layer.html to be really sure we are using the same latest version.


My test environment is DELL Vostro 3700, Intel Core i5 M560 @ 2.67Ghz, RAM 4Go, 32 bits System, Windows 7, IE 9.0.8112.16421, Visual Studio 2010 Ultimate, Mapsuite Dlls V 5.5.0.59


It also happen on the latest versions of Chrome and Firefox so I don't think it's a browser issue.


I can reproduce the bug each time I empty the ImageCache folder and reload the page as you can see on the screen cast so it's not random.


Can I do something else to help you reproduce the bug and correct it please as it is becoming rather urgent please.


Thank you very much for your help.