I found another thread with a similar issue here:
http://groups.google.com/group/Google-Maps-API/browse_thread/thread/66677ba09a66d1e0

It seems like the person in the thread solved the problem by loading
his code from a separate script with the <script> tag in the body of
the page. I'd like to avoid loading a separate script.

Is there anybody from Google to clarify how this needs to be done? or
better provide an example?

Paul.

On Sep 23, 7:42 pm, Paul Kulchenko <[email protected]> wrote:
> I passed one hurdle, but hit another one. The map loads fine now, but
> I can't work with the object that is inherited from google.maps.Overlay
> (): I get "a.initialize is not a function" error upon loading and also
> "c.redraw is not a function" error on every move.
>
> The map is here:http://my-test.dreamhosters.com/overlay2.html. It's a
> straight original google's overlay example, I just changed G*
> functions to google.maps.* and added ajax loader.
>
> Does anyone know what's wrong here? Does anyone have any example with
> AJAX loader that goes beyond loading a module and displaying a map?
>
> Paul.
>
> On Sep 23, 5:18 pm, Paul Kulchenko <[email protected]> wrote:
>
> > Answering my own question. I made it work by wrapping the code below
> > into the initialize() function as below.
>
> > This *doesn't work*:
>
> >   google.load("maps", "2.x",  {other_params:"sensor=false"});
> >   google.setOnLoadCallback(initialize);
>
> >   try {
> >     function NewOverlay () {}
> >     NewOverlay.prototype = new google.maps.Overlay();
> >     alert(NewOverlay.toString());
> >   }
> >   catch (e) { alert(e); }
>
> >   function initialize() {
> >     var map = new google.maps.Map2(document.getElementById
> > ("map_canvas"));
> >     map.addControl(new GSmallZoomControl3D());
> >     map.setCenter(new GLatLng(-34.397, 150.644), 8);
> >   }
>
> > but this *does work* (try {} catch{} is inside initialize()):
>
> >   google.load("maps", "2.x",  {other_params:"sensor=false"});
> >   google.setOnLoadCallback(initialize);
>
> >   function initialize() {
>
> >   try {
> >     function NewOverlay () {}
> >     NewOverlay.prototype = new google.maps.Overlay();
> >     alert(NewOverlay.toString());
> >   }
> >   catch (e) { alert(e); }
>
> >     var map = new google.maps.Map2(document.getElementById
> > ("map_canvas"));
> >     map.addControl(new GSmallZoomControl3D());
> >     map.setCenter(new GLatLng(-34.397, 150.644), 8);
> >   }
>
> > It's a bit inconvenient to have it all inside the initialize()
> > function, but because it's loaded asynchronously, there is probably no
> > other way to do that.
>
> > Also, the documentation could be more clear on this, although it does
> > mention "Perform any initialization to your objects using
> > google.setOnLoadCallback()".
>
> > Paul.
>
> > On Sep 23, 4:45 pm, Paul Kulchenko <[email protected]> wrote:
>
> > > I have a very simple map (http://my-test.dreamhosters.com/
> > > commonloader2.html) that is using AJAX API to load maps interface. The
> > > map itself loads fine, but when I try to work with loaded classes (for
> > > example, create new objects based on them) I get this error:
> > > google.maps.Overlay is not a constructor. This is caused by something
> > > as simple as:
>
> > >     function NewOverlay () {}
> > >     NewOverlay.prototype = new google.maps.Overlay();
>
> > > The AJAX loader documentation is straightforward (http://
> > > code.google.com/apis/maps/documentation/#AJAX_Loader): Use the
> > > google.maps.* namespace for all classes, methods and properties you
> > > currently use in the Google Maps API, replacing the G prefix with this
> > > namespace.
>
> > > Based on this description I replaced "new GOverlay()" with "new
> > > google.maps.Overlay()". What am I doing wrong here?
>
> > > Paul.
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-maps-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to