Wasn't it warden [Andrew Leach - Maps API Guru] who wrote:
>
>On Oct 29, 12:28 pm, "pamela (Google Employee)" <[EMAIL PROTECTED]>
>wrote:
>> Honestly, we weren't aware that the loader change would have the effect of
>> disabling these symbols.
>
>I don't know if you have heard of Jeremy Paxman, or heard him say "Ye-
>e-s", but I think that statement is rather surprising, I'm afraid.
>Loader tokens must be documented somewhere, so it should be possible
>to find what's likely to happen if one is changed.

It turns out that it's not actually a loader token, it's the "G". The
removal of the v1 map types names is a side effect of the removal of the
"G" global variables from the maps.google.com code.

Previously there were two separate loader mechanisms that controlled the
"G", one affecting both the API and maps.google.com, and one just
affecting the API.

Method 1: The 5th parameter of the apiCallback(), which the loader uses
to communicate with the main code, used to be "G". Now it's "". With
that prefix in the "e" variable and an array of un-prefixed symbols in
the "p" variable, the API performs
        ea(e,p);

Method 2: If the 9th parameter of the apiCallback is true (which it is)
then the main code re-runs the ea() function, this time with a
hard-coded "G"
        if(i)ea("G",p)


However, there's a bit of code that runs before that happens.
  u=e=="G"
  ...
  function w(ba,Ha,Pa,Cb){
   if(Ha)Gf.push(ba);
   p.push([Pa,ba]);
   if(Cb&&u)p.push([Cb,ba])
  }
  ...
  w(lg(a,k,s,x,M),true,"NORMAL_MAP","MAP_TYPE");
  w(y,true,"SATELLITE_MAP","SATELLITE_TYPE");
  w(ng(c,k,s,x,M,y),true,"HYBRID_MAP","HYBRID_TYPE")

Because e!="G" with the changed loader, u is now false, so when the code
decides whether to push the v1 map type names into the array of
un-prefixed symbols the test fails
   if(Cb&&u)p.push([Cb,ba])
E.g. on the first of those w() calls
Pa is "NORMAL_MAP", Cb is ""MAP_TYPE", ba is an internal reference to
the code that implements G_NORMAL_MAP.

The above code from v2.135a.



In v2.78, the code is simpler:
   g.push(["NORMAL_MAP",l]);
   if(d=="G"){
    g.push(["MAP_TYPE",l])
   }
...
   g.push(["SATELLITE_MAP",u]);
   if(d=="G"){
    g.push(["SATELLITE_TYPE",u])
   }
...
   g.push(["HYBRID_MAP",D]);
   if(d=="G"){
    g.push(["HYBRID_TYPE",D])
   }

If the prefix letter is not "G" then the v1 map type symbol names are
not pushed into the array.

-- 
http://econym.org.uk/gmap
The Blackpool Community Church Javascript Team


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