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 -~----------~----~----~----~------~----~------~--~---
