ThinkGeo.com    |     Documentation    |     Premium Support

Use diefferent background overlay in editmode

i am trying to display several overlay in the background as the sample application at Samples/Overlays/use Google,Yahoo etc.


i want to use the edit mode using those different overlay, when i finish to draw a polygon how can i retrieve the project it is in. I assume that if a google overlay is displayed the projection is google and so on.


 


thanks in advance


sebastien



i have another question about the use of different overlay as background:


I tried to add 2 different overlays, one is a google overlay and the other is a custom overlay. when i switch on google overlay (using the overlaySwitcher) the background overlay is displayed, but when i switch on my custom wms, it did not display at all. the weird thing is when i try to display the custom wms alone it displays well. Do i need to do something when i switch on the custom wms with the overlay switcher?


 


thanks in advance.


sebastien



Hi sebastien,


For your first question, you could check the projection (or name) of base layer in the track ended event to see which projection the current map is in. The code is like this:

function DrawEnded(feature) {
    // You could check some properties of baseLayer to see what projection the map is in.
    alert(feature.layer.map.baseLayer.projection);
}

For the second question, the background overlay will not display if your custom wms overlay is not in Google projection when you switch from Google overlay. This is because the map unit and current extent that you set in the server side just matches with Google projection. 
So I think the simplest solution of this problem is setting the same projection of your wms overlay as Google overlay, but if you don’t want to do this, then you may need to raise a post back to server side to change the map unit and current extent to match the projection of your custom wms overlay once you switch the background overlay, and then redraw the map. And you also can try to change these parameters in the client side, but you need to consider how to synchronize the state between server side and client side.
Any more questions please let me know.
Thanks,
Sun