<span class="gmail_quote"></span><div style="direction: ltr;">Kyle, <br><br>   How did you georeferenced your image?<br>   Take a look in your georeferencing data...<br>   If you used a worldfile, you can see some diference between X and Y values?
<br><br>   In another project, my images are all LatLon.
<br>   I wrote the same value of X in Y, only changed the signal.
<br><br>   But doing this, the tiles with 256x256 will overlap in
vertical axis due to mercator projection. Now, after computing both X
(Left-Right) and Y (Bottom-Top) i got right result.<br><br>  
Inspecting you javascript code I found that you still using gmaps
version 1. I sugest that you change to version2, because of better
support for custom tiles.
<br><br>   And note that the initial zoom is 4. This zoom level in
G_MAP_TYPE correspond to 12m/Pixel. Are you sure that your building is
too large?<br><br>   If it is this the location of you data: <a href="http://maps.google.com/?ll=42.291532,-83.714447&spn=0.028508,0.058537&t=k" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">

http://maps.google.com/?ll=42.291532,-83.714447&spn=0.028508,0.058537&t=k</a><br>   seems that you need to try to correct this!<br>   <br><br> - - - V2 SAMPLE - - - <br><pre>    //CUSTOM Layer<br>    var N_SATELLITE_LAYER = new GTileLayer(new GCopyrightCollection(""), 0, 18);
<br><br>    N_SATELLITE_LAYER.hostName = '<a href="http://dude.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dude.com</a>';<br>    N_SATELLITE_LAYER.pUpLeft  = new GPoint(0,0);<br>    N_SATELLITE_LAYER.pTopRight = new GPoint(0,0);
<br>    N_SATELLITE_LAYER.getTileUrl = function(a,b,c) {<br><br>        var url = G_SATELLITE_MAP.getTileLayers()[0].getTileUrl(a,b,c);<br>        if (this.hostName){<br>           url = url.replace(/(google.com\/([m|k][t|h]))/i, 
this.hostName+"/$2/");<br>        };<br>        if (<br>url.match(this.hostName)){<br>            var ts = 256;<br>            this.pUpLeft.x   = a.x*ts;<br>            this.pUpLeft.y   = a.y*ts;<br>            
this.pTopRight.x = (a.x+1)*ts;<br>            this.pTopRight.y = (<br>a.y+1)*ts;<br>            var ul = G_SATELLITE_MAP.getProjection().fromPixelToLatLng(this.pUpLeft, b, c);<br>            var br = G_SATELLITE_MAP.getProjection().fromPixelToLatLng(
this.pTopRight, b, c);<br>            var bbox = <br>ul.x + "," + ul.y + "," + br.x + "," + br.y;<br>            url += '&maxzoom=18&box='+ bbox;<br>        };<br>        return url;<br>
    }</pre><br><pre>   var Layer2=[N_SATELLITE_LAYER];<br><br>   var N_SATELLITE_MAP = new GMapType(Layer2, G_SATELLITE_MAP.getProjection(), 'MAP', G_SATELLITE_MAP);<br>   <br>   var map = new GMap2(<your div>);<br>
   map.getMapTypes().length = 0;<br>   map.addMapType(N_SATELLITE_MAP);<br><br>   map.addControl(new GSmallMapControl());<br>   map.addControl(new GMapTypeControl());<br>   map.setCenter(new GLatLng(42.291532,-83.714447), 14);
</pre> - - - V2 SAMPLE - - - <br><br>  OBS.: I'm using a proxy php to do caching and other verifications.
<br>            Change the getTileUrl to your need. <br>            And note that itīs returning BBOX in TopLeft,BottomRight; <br>            Not BottomLeft,TopRight as WMS use...<br><br>            I used the satellite map type. So itīs serving jpg files.
<br>            If you need to use png override the isPNG() function to return true.<br><br>Best Regards,<br></div><div style="direction: ltr;"><span class="sg">Luiz Vaz

</span></div>