On Apr 2, 2:27 pm, pr0fess0r <[email protected]> wrote:
> Hi
> I've modifed the javascript that creates the map variable like this:

You didn't make it global, you just didn't declare it.

To make it global, put this:
var map;

in the global scope.

> Changed
>
> if (GBrowserIsCompatible()) {
> var map = new GMap2(document.getElementById("map"));
>
> to
>
> if (GBrowserIsCompatible()) {
> map = new GMap2(document.getElementById("map"));
>
> Because I wanted the map to be accessible to other Javascript
> functions in the header outside of gload()
>
> The problem is that
> map = new GMap2(document.getElementById("map"));
>
> gives me the JavaScript error
>
> Object doesn't support this property or method
>
> in IE 8.

If you don't tell IE to define it globally, by default it creates
global variables named after the ids of the html elements on your page
(as normal, non-standard behavior...).


>
> How can I access the map variable from another javascript function in
> a way that will keep IE 8 happy? For example, I have a function I use
> for sideclicks which I can only seem to call outside of gload():

See above...

(you could probably also fix the error by changing the name of your
div with id="map"...)

  -- Larry


> If you need to see this in action the page 
> ishttp://www.taranaki.info/visit/theme.php/id/206
> (it'll break in IE8)
>
> Any tips from JavaScript gurus would be appreciated :)
> Cheers
>
> Lucas
--~--~---------~--~----~------------~-------~--~----~
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