Rough initial version. Based on original annotation from http://spaces.msn.com/members/sompost/ with additions.
Original name (as listed in maps.3.js) is given in square brackets and linked to the original source. Meta data is from Google Maps meta data file. Generated by Javascript deobfuscation helper.
Sd, Pd, xd, Jd, Id
setTimeout("_finishDrop()",1)
Cb, h, l
gd
Qa
var fi=Af(nd[3]||nd[4]);
var Lb=Af(zg[1]);
M
return Ag(str)
rg, wh
return approxEquals(this.x,X.x)&&approxEquals(this.y,X.y)
return approxEquals(this.width,X.width)&&approxEquals(this.height,X.height)
x
S.style.left=asPixels(Tc.x+mc);
this.layer[a].style.top=asPixels(m)
this.panel.style.height=asPixels(ji);
this.sender.style.width=asPixels(1);
f.style.top=asPixels(top)
...
Always returns false
g
I+=bg(g.childNodes[a])
Uh, Pg, ed, Jc
toString()
containsSegment(Qd,qd)
containsBounds(Ud)
cc.push(new Bounds(Ga.x,Ga.y,Ca.x,Ca.y))
cc.push(new Bounds(-U,-U,U,U))
if(!e)e=new Bounds(0,0,0,0);
this.directionsDiv.directionsBounds=new Bounds(-U,-U,U,U);
var na=new Bounds();
...
Bg, Vf, Eh
var A=new BrowserInfo(0,0,null);
b
cancelBubble(b)
cancelBubble(b);
Fb, gi
return createLink(ta.getLinkText(),Th)
Qa
Sd('<a href="'+db(fa)+'">'+Jb(fa)+"</a>",0);
var Y='<table class="dirsummary"><tr><td class="name" onclick="showDirectionsStart()" style="cursor: pointer"><a href="javascript:void(0)" onclick="javascript:return true">Start from</a>:</td><td class="value" onclick="showDirectionsStart()" style="cursor: pointer">'+Ma(Jg)+"</td></tr>"+'<tr><td class="name" onclick="showDirectionsEnd()" '+'style="cursor: pointer"><a href="javascript:void(0)" '+'onclick="javascript:return true">Arrive at</a>:</td>'+'<td class="value" onclick="showDirectionsEnd()" '+'style="cursor: pointer">'+Ma(ig)+"</td></tr>"+'<tr><td class="name">Distance:</td><td class="value">'+Ma(mb)+" (about "+Ma(gf)+")</td></tr></table>"+'<div class="reverse"><a '+"href=\"javascript:javascript:directionsSearch('"+Rd(db(ig))+"', '"+Rd(db(Jg))+"', true)\">"+'Reverse directions</a></div><table class="directions">';
Sd('<a href="'+db(Gc)+'">'+Jb(Gc)+"</a>",0);
I+=" "+g.attributes[a].nodeName+'="'+db(g.attributes[a].nodeValue)+'"'
Sd('<a href="'+db(J)+'">'+Jb(J)+"</a>",0);
...
str, Fd
Some sort of parser/converter for paste/drag'n'drop data?
Wc=Df(b.dataTransfer.getData("Text"),null);
Yb.text=Df(Lb,null);
rb, Oc, da
loadFromXML(c)
getSegmentById(H)
toHTML(W)
return new Directions(Pb,pd,c)
C, K, top, R
Handles mouse tracking
moveTo(O,top)
onMouseDown(b)
onMouseMove(b)
onMouseUp(b)
onWindowMouseOut(b)
disable()
enable()
this.dragObject=new DragTracker(this.div,0,0);
var me=new DragTracker(Oe,Mc,this.getRelativeZoomSliderPos(),D);
Q, ba
Fiddles value if it's negative/positive before passing to encodeNumberAsCharArray?
encodeNumber(9999,u);
encodeNumber(Ub-Eb,u);
encodeNumber(zb-D.minX,u);
encodeNumber(ac-zb,u);
encodeNumber(9999,u)
...
Q, ba
return encodeNumberAsCharArray(F<0?~(F<<1):F<<1,la)
c, xa
extendClassName(j,"noselect");
extendClassName(f,Ha)
extendClassName(this.shadowDiv,"infowindow");
extendClassName(Hc,"noprint");
extendClassName(this.windowDiv,"infowindow");
c, Ef
ga(this.src,"move");
ga(E,"pointer");
ga(this.src,this.originalCursor);
ga(hd,"pointer");
ga(c,"hand")
...
g
var dg=gd(this.mapContainer);
var Kd=gd(Xa);
var Hi=gd(this.panel);
var Kd=gd(yf);
F
Sd, Pd, xd, Jd, Id
Main class
beforePrint()
afterPrint()
loadMap(ff)
createMapControl()
onMapStateChanged()
resizeMapView()
getWindowSize(e)
loadIconClasses()
loadXML(ye,Gh)
loadVPage(M)
showOverlayPanel(ra)
showDirectionsPanel(B)
search(qb,hj,uh)
clearSearchState()
getPageURL(Le)
email()
print()
return new GoogleMapsApp(Cb,we,ce,re,pe,de)
createElement(J,xc)
create(J,h,l,O,top,Ua,xc,Ha)
g
qb=ia(qg[0])
Fb=ia(hg[0])
var Ye=ia(ob.getElementsByTagName("phone")[0]);
if(pb.length>0)ke=ia(pb[0]);
var Rh=ia(Fd.getElementsByTagName("points")[0]);
...
f, s
Is this actually Icon & other Icon is IconClass or Marker or something?
loadFromXML(c)
return new Icon1(c.getAttribute("image"),s)
ja, g, k, vg, Wh, og, kh, Gg, Cd
(?) Actually IconClass? Image used for marker
translateImageMapArray(x,m)
load(s)
get(w)
Icon.load(new Icon("noicon",0,0,new q(0,0),new q(0,0),new q(0,0),null,0,null))
Icon.load(new Icon("local",20,34,new q(9,34),new q(9,2),new q(17,23),o+"shadow50.png",37,ie));
Dh, Kh, Cf, bg, Wf
Popup window pointing at location
setContentSize(h,l)
setSize(h,l)
getWindowHeight()
getTotalHeight()
getTotalHeightAboveGround()
getTotalShadowHeight()
getTotalWidth()
getOffsetLeft()
getOffsetTop()
setWindowSize(h,l)
setShadowSize(h,l)
setMaskSize()
hide()
show()
isVisible()
sizeToContent(Cd)
positionAt(x,m,s)
calculatePointerOffset(h)
createCroppingDiv(f)
createWindow(Ua)
createShadow(Ua)
hasMask()
getMaskMap()
createMask()
addAreaToMaskMap(Ve,ch)
clearMaskMap()
getMaskLeft()
getMaskTop()
createContentArea(h)
prepareOffscreen()
clearOffscreenArea()
flipOffscreenArea()
onMouseDown(b)
createCloseButton()
onCloseMouseDown(b)
this.infoWindow=new InfoWin("14em",this.eventHandler("onInfoCloseClick"),this.div,50,20)
Qa
Sd('<a href="'+db(Gc)+'">'+Jb(Gc)+"</a>",0);
return Jb(Qa).replace(/\"/g,""
Sd('<a href="'+db(fa)+'">'+Jb(fa)+"</a>",0);
I+=Jb(g.nodeValue)
Sd('<a href="'+db(J)+'">'+Jb(J)+"</a>",0);
kd, Sg, da
Collection of Location
loadFromXML(c)
getLocationById(H)
toHTML(W)
return new Locations(Pd,c.getAttribute("panelStyle"),c)
F, j, X, Hg, da
A place answering to query
loadFromXML(c)
toHTML(W)
return new Location(c.getAttribute("id"),k,da,c.getAttribute("infoStyle"),c)
start()
end()
addTime(gf)
Qa
var Y="<div><b>"+Ma(bb)+"</b></div>"+'<div style="font-size: small">'+Ma(Ye)+"</div>"+'<div style="font-size: small"><div>'+Ma(ke)+"</div><div>"+Ma(Je)+"</div></div>"+'<div style="font-size: small;
var Y='<table class="dirsummary"><tr><td class="name" onclick="showDirectionsStart()" style="cursor: pointer"><a href="javascript:void(0)" onclick="javascript:return true">Start from</a>:</td><td class="value" onclick="showDirectionsStart()" style="cursor: pointer">'+Ma(Jg)+"</td></tr>"+'<tr><td class="name" onclick="showDirectionsEnd()" '+'style="cursor: pointer"><a href="javascript:void(0)" '+'onclick="javascript:return true">Arrive at</a>:</td>'+'<td class="value" onclick="showDirectionsEnd()" '+'style="cursor: pointer">'+Ma(ig)+"</td></tr>"+'<tr><td class="name">Distance:</td><td class="value">'+Ma(mb)+" (about "+Ma(gf)+")</td></tr></table>"+'<div class="reverse"><a '+"href=\"javascript:javascript:directionsSearch('"+Rd(db(ig))+"', '"+Rd(db(Jg))+"', true)\">"+'Reverse directions</a></div><table class="directions">';
padding-top: 1px"><div>'+"<a href=\"javascript:showLocationInfo('"+ib.id+"')\" "+'style="color: #0000cc">'+bb+"</a></div>"+'<div style="font-size: smaller">'+Ma(Ye)+" - "+'<span style="color: #7777cc">'+Ma(mb)+"</span></div>"+"</td></tr>"
p
onMapStateChanged()
onMapResize()
reset()
addPoint(vd,Td,Yh)
new MapHolder(this.map);
R, Ub, g, k, eg, ze
This is the main view class containing the user interface/Map view (also used by map blow up.)
createMapDiv()
loadTileImages()
deleteTiles()
initializeMap()
getSpanLatLng(e)
getCenterLatLng(e)
getBoundsBitmap(e)
getBoundsLatLng(e)
calculateTileMeasurements()
configureImage(f,x,m)
onDrag()
onMove()
rotateTiles()
rotateLeft()
rotateRight()
rotateUp()
rotateDown()
onDragStart(b)
onDragEnd(b)
onDoubleClick(b)
onClick(b)
getRelativeClickPoint(b,yf,e)
reconfigureAllImages()
pan(Fa,Ja)
doPan()
cancelPan()
recenterOrPanToLatLng(k)
recenterOrPanToBitmap(k)
centerAndZoom(fd,N)
centerAtLatLng(k)
centerAtBitmap(k)
addStateListener(di)
onStateChanged()
onResize(b)
getCurrentOffset(e)
switchSpecification(Pa)
setSpecification(Pa)
zoomTo(va)
toggleTileBorders()
addOverlay(ra)
createLocalMarker(p)
createLocationMarker(Pf,s)
clearOverlays()
getDivCoordinate(x,m,e)
orderLocations(Tf,of)
repositionOverlays()
setMarkerPosition(S,s,Eg)
loadVPage(G,ug,Qh)
registerKeyHandlers(J)
onKeyPress(b)
onKeyUp(b)
ignoreKeyEvent(b)
startContinuousPan()
doContinuousPan()
onWindowBlur(b)
onIconMouseDown(p,b)
clearInfoWindowArgs(M)
infoWindowNavigate(Ph,If,Fg,Rf)
showInfoWindow(p)
addMarkersToInfoWindowMask()
addMarkerToInfoWindowMask(Sa,yb,S)
showSizedInfoWindow(x,m,s,Cd)
showMapBlowup(k,s)
createSpecToggleLinks(xb)
createSpecChangeLink(ta)
onInfoCloseClick(b)
closeInfoWindow()
panToInfoWindow()
repositionInfoWindow()
getVMLPathString(B)
createRawVML(af,j,c)
getBitmapVectors(vb,v,D)
getVectorPath(v,D)
getEncodedImageSource(v,D)
createVectorSegments(Pb,Xb,Za,oa)
createImageSegments(Pb,Xb,Za,oa)
drawDirections(B,R,ti)
drawDirectionsMarkers()
showDirectionsStart()
showDirectionsEnd()
showDirectionsStep(ec)
setDirectionIndicatorPos()
getDirIndicatorAngle(ba)
getDirIndicatorPath(Oa)
hideDirectionsMarkers()
directionsMarkersAreVisible()
createMapControl()
createZoomControls(ea)
createPanningControls(ea)
createZoomSlider(ea)
getRelativeZoomSliderPos()
getZoomFromRelativeCoord(m)
showCopyright()
createCopyright(Y)
this.map=new Map(this.mapContainer,ta,null,null,false,false,nb);
this.map=new Map(this.mapContainer,Yc,this.width,this.height);
var Nd=new Map(W,this.spec,200,200,true,true,this.mapTypes);
X, Ib, Ua, p, Sb
addLayer(f)
setPosition(x,m)
appendTo(j)
removeFrom(j)
hide()
show()
isVisible()
var ad=new Marker(da,bc,kb,r,nc);
qa, w, Mb
nf(this.eventSrc,"mousemove",this.mouseMoveHandler);
nf(this.eventSrc,"mouseup",this.mouseUpHandler);
gd
ni(Jd)
fb
return num2Str(Aa.height)+","+num2Str(Aa.width)
return num2Str(k.y)+","+num2Str(k.x)
Ee, Wa, Fh, hb, ya, Nf
Od(B,this.panel,fa,null,"panel",B.toHTML)
Od(p,this.infoWindow.offscreenArea,p.infoStyle,bh,null,p.toHTML)
Od(G,this.metaPanel,fa,null,"metaPanel",G.metaToHTML);
Od(ra,this.panel,ra.panelStyle,null,"panel",ra.toHTML)
Cb, h, l
load(ye)
loadVPage(M)
return new od(Cb,h,l)
b
b
qa, w, Mb
P(J,"keydown",this.eventHandler("onKeyPress"));
P(J,"keyup",this.eventHandler("onKeyUp"))
P(window,"afterprint",this.eventHandler("afterPrint"));
P(dd,"click",function(b)
P(E,"click",function(b)
...
bb, Ya, Bc, Tc, B, Zg, dg, Gh, jg, z, Sc, y, nb, da
XML record
loadFromXML(c)
metaToHTML(W)
return new Page(qb,bb,Xc,ud,E,Aa,Gg,ag,null,null,td,B,Fb,c)
Yf
reset()
next()
more()
this.panSiner=new PanSiner(yi);
this.panSiner=new PanSiner(100);
x, l
toString()
equals(X)
distanceFrom(X)
approxEquals(X)
e=new Point()
this.clickStartPos=new Point(0,0);
this.dragPoint=new Point(0,0);
var Xe=new Point(0,0);
var md=new Point(-98.35,39.5);
...
gh, yd, ie, Dd
decodePolyline(sc)
decodeLevels(sc)
getPoint(Nb,k)
getVectors(D,N,v)
getVectorsHelper(D,fj,Rb,va,Cg,v)
var Pb=new Polyline(Rh,ee,Re,je);
Qa
margin-bottom: 1em">Did you mean: <a href="javascript:search(\''+Rd(str)+"')\">"+nh+"</a></div>"
var vf=Rd(db(ke)+", "+db(Je));
var Y='<table class="dirsummary"><tr><td class="name" onclick="showDirectionsStart()" style="cursor: pointer"><a href="javascript:void(0)" onclick="javascript:return true">Start from</a>:</td><td class="value" onclick="showDirectionsStart()" style="cursor: pointer">'+Ma(Jg)+"</td></tr>"+'<tr><td class="name" onclick="showDirectionsEnd()" '+'style="cursor: pointer"><a href="javascript:void(0)" '+'onclick="javascript:return true">Arrive at</a>:</td>'+'<td class="value" onclick="showDirectionsEnd()" '+'style="cursor: pointer">'+Ma(ig)+"</td></tr>"+'<tr><td class="name">Distance:</td><td class="value">'+Ma(mb)+" (about "+Ma(gf)+")</td></tr></table>"+'<div class="reverse"><a '+"href=\"javascript:javascript:directionsSearch('"+Rd(db(ig))+"', '"+Rd(db(Jg))+"', true)\">"+'Reverse directions</a></div><table class="directions">';
c
removeAllChildren(this.offscreenArea)
Yh, ka
Used for logging/creating hyperlinks? (Blank at present.)
Sd('<a href="'+db(Gc)+'">'+Jb(Gc)+"</a>",0);
Sd('<a href="'+db(J)+'">'+Jb(J)+"</a>",0);
Sd('<a href="'+db(fa)+'">'+Jb(fa)+"</a>",0);
F, ue, V
loadFromXML(c)
return new se(H,ef,ba)
ba
add(Bb)
remove(Bb)
contains(Bb)
this.panKeys=new Set()
this.panKeys=new Set();
g, k
toString()
equals(X)
approxEquals(X)
var pj=new Size(0,0);
this.tableSize=new Size(0,0);
this.tilePaddingOffset=new Size(0,0);
var Aa=new Size(B.polyline.minTolerance,B.polyline.minTolerance);
this.viewSize=new Size(h,l);
...
F, Ba
create(ya)
invalidateAll()
invalidate(Ha)
isValid()
return new Synchronizer(sb[ya],ya)
Ee
getBitmapCoordinate(gb,tb,N,e)
getLatLng(x,m,N,e)
getTileCoordinate(gb,tb,N,e)
getTileURL(x,m,N)
getLowestZoomLevel(og,pf,Bf)
getPixelsPerDegree(N)
getLinkText()
getURLArg()
var Yc=new Tiles();
str
var M=uf(ye);
setValue(w,F)
setAllMapValues(r)
getLatLngArg(k)
getSpanArg(Aa)
reset()
getURL(Le)
getXSLTURL(H)
var z=new UrlMaker();
g, eh
var xg=vh(qa,yf);
Used for creating image tags?
create(J,h,l,O,top,Ua,xc,Ha,kg)
g, rf
var str=wd(Id,false);
F+=wd(g.childNodes[a],true)
var str=wd(this.error,false);
var nh=wd(this.spelling,false);
g
var bb=Wg(ob.getElementsByTagName("title")[0]);
create()
Vc
isSupported(ub)
create(Ae)
getCached(Db)
cache(Db,Qg)
transformToHTML(ub,Wa)
asynchronousTransform(ub,Wa,Gc,hb,ya)
return new Xslt(Ae)
oe, w, F
appendChild(g)
hasAttributes()
setAttribute(w,F)
getAttribute(w)
getElementsByTagName(w,Sc)
return new y(y.DOCUMENT_NODE,"#document",null)
return new y(y.TEXT_NODE,"#text",F)
return new y(y.ELEMENT_NODE,w,null)
this.attributes.push(new y(y.ATTRIBUTE_NODE,w,F))
D
line -> list of coordinates (getLineAsString?)
var ig=zf(this.xml.getElementsByTagName("destination")[0]);
var Jg=zf(this.xml.getElementsByTagName("source")[0]);