ThinkGeo.com    |     Documentation    |     Premium Support

On google overlay how inform tiles completely loaded?

 hi dears


you know there is two event 


1.OnMapCreated     2. OnMapCreating


 we are in sitution need fire some after the google overlay finish loaded all ties & in loading tiles , none of all events not worked at all


also i tried register loadend events on layer and no success


what should i do?


is there any sloution? some code?


 


best regards



 Hello hossein,


 
Thanks for your post, OnMapCreating event is raising when the Map control is initialize, and  OnMapCreated event is raising then the Map control was initialized, there isn't a event raise after all overlays rendered.
 
But I think loadend event can work for this scenario, please see the code below, so what's the problem have you met?

layer.events.register('loadend',this, function(){})

 
I hope this can help.
 
Regards,
 
Gary

thanks gary could you get us more snippet of code where actually we must use it ? 


Hello hossein, 
  
 Sorry I’m not clear what’s the meaning of “must use it”? 
  
 Gary

 hi Gary thanks  


 


my mean is how complete implement  the loadend event with piece of code you mentioned


could you explain more (with sample code)?


 


sincerely yours


 


 


 



 Hello hossein,


 
Sorry for waiting, this is a weird problem when using google map, so I cost more time to research it.
 
Please see the code below, it should work with other overlay, but there is a bug in openlayer when use google overlay.
 

 var OnMapCreated = function (map) {
            tgMap = map;
            var layer = tgMap.getLayer('Google Map');
            layer.events.register('click', this, function () { alert(123); })
        };

 
We are working on this and try to fix it.
 
Regards,
 
Gary

Hello hossein,


Thanks for your patience, this problem is because OpenLayers encapsulates Google Maps, so we have to refer to Google Maps API to add event. Please try the code below:



    <script type="text/javascript" src="maps.google.com/maps?file=api&v=2&key=ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA">
    </script>
    <script type="text/javascript">
        var OnMapCreated = function (map) {
            var layer = map.getLayer('Google Map');
            GEvent.addListener(layer.mapObject, "tilesloaded", function () {
                alert("Loaded.");
            });
        }
    </script>

I hope this can help.


Regards,


Gary


 



 bravo!!! Gary is my best friend


thanks ThinkGeo



Hello hossein, 
  
 Thanks for your praise, we will try our best to help you coding easier. 
  
 Regards, 
  
 Gary