Sorry but your question is really about Google Maps. You'd need to ask 
on the Google Maps forum.

    http://groups.google.com/group/Google-Maps-API/

Try to get your map to work independent of Exhibit first, and then 
integrate it.

David

thaiboxer wrote:
> Still haven't got this one to work, any help??
>
> On Dec 16, 9:39 pm, thaiboxer <[email protected]> wrote:
>   
>> function myMapConstructor(div) {
>>       var map = new GMap2(div);
>>       map.setCenter(new GLatLng(35.21196570103912, -80.95001220703125),
>> 4);
>>       map.addControl(new GLargeMapControl());
>>       map.enableScrollWheelZoom();
>>       map.setMapType(G_NORMAL_MAP);
>>         return map;
>>        }
>>
>> i have been trying to generate the function above but with the custom
>> map tiling script below with no success.  I figure its better to ask
>> here (vs javascript forum)  because you guys are so good with this
>> stuff  & know what exhibit requires.
>>
>> thanks, jw
>>
>>  var centreLat=0.0;
>>     var centreLon=0.0;
>>     var initialZoom=2;
>>     var imageWraps=true; //SET THIS TO false TO PREVENT THE IMAGE
>> WRAPPING AROUND
>>     var map; //the GMap2 itself
>>
>> /////////////////////
>> //Custom projection
>> /////////////////////
>>     function CustomProjection(a,b){
>>         this.imageDimension=65536;
>>         this.pixelsPerLonDegree=[];
>>         this.pixelOrigin=[];
>>         this.tileBounds=[];
>>         this.tileSize=256;
>>         this.isWrapped=b;
>>         var b=this.tileSize;
>>         var c=1;
>>         for(var d=0;d<a;d++){
>>           var e=b/2;
>>           this.pixelsPerLonDegree.push(b/360);
>>           this.pixelOrigin.push(new GPoint(e,e));
>>           this.tileBounds.push(c);
>>           b*=2;
>>           c*=2
>>         }
>>     }
>>
>>     CustomProjection.prototype=new GProjection();
>>
>>     CustomProjection.prototype.fromLatLngToPixel=function(latlng,zoom)
>> {
>>         var c=Math.round(this.pixelOrigin[zoom].x+latlng.lng()
>> *this.pixelsPerLonDegree[zoom]);
>>         var d=Math.round(this.pixelOrigin[zoom].y+(-2*latlng.lat())
>> *this.pixelsPerLonDegree[zoom]);
>>         return new GPoint(c,d)
>>     };
>>
>>     CustomProjection.prototype.fromPixelToLatLng=function
>> (pixel,zoom,unbounded){
>>         var d=(pixel.x-this.pixelOrigin[zoom].x)/
>> this.pixelsPerLonDegree[zoom];
>>         var e=-0.5*(pixel.y-this.pixelOrigin[zoom].y)/
>> this.pixelsPerLonDegree[zoom];
>>         return new GLatLng(e,d,unbounded)
>>     };
>>
>>     CustomProjection.prototype.tileCheckRange=function
>> (tile,zoom,tilesize){
>>         var tileBounds=this.tileBounds[zoom];
>>         if (tile.y<0 || tile.y >= tileBounds) {return false;}
>>         if (this.isWrapped) {
>>                 if (tile.x<0 || tile.x>=tileBounds) {
>>                         tile.x = tile.x%tileBounds;
>>                         if (tile.x < 0) {tile.x+=tileBounds}
>>                 }
>>         }
>>         else {
>>                 if (tile.x<0 || tile.x>=tileBounds) {return false;}
>>         }
>>         return true;
>>     }
>>
>>     CustomProjection.prototype.getWrapWidth=function(zoom) {
>>         return this.tileBounds[zoom]*this.tileSize;
>>     }
>> ////////////////////////////////////////////////////////////////////////////
>>
>>     function customGetTileURL(a,b) {
>>       //converts tile x,y into keyhole string
>>
>>       var c=Math.pow(2,b);
>>
>>         var d=a.x;
>>         var e=a.y;
>>         var f="t";
>>         for(var g=0;g<b;g++){
>>             c=c/2;
>>             if(e<c){
>>                 if(d<c){f+="q"}
>>                 else{f+="r";d-=c}
>>             }
>>             else{
>>                 if(d<c){f+="t";e-=c}
>>                 else{f+="s";d-=c;e-=c}
>>             }
>>         }
>>         return "floorplan-tiles/"+f+".jpg"
>>     }
>>
>>     function getWindowHeight() {
>>         if (window.self&&self.innerHeight) {
>>             return self.innerHeight;
>>         }
>>         if
>> (document.documentElement&&document.documentElement.clientHeight) {
>>             return document.documentElement.clientHeight;
>>         }
>>         return 0;
>>     }
>>
>>     function resizeMapDiv() {
>>         //Resize the height of the div containing the map.
>>         //Do not call any map methods here as the resize is called
>> before the map is created.
>>         var d=document.getElementById("map");
>>         var offsetTop=0;
>>         for (var elem=d; elem!=null; elem=elem.offsetParent) {
>>             offsetTop+=elem.offsetTop;
>>         }
>>         var height=getWindowHeight()-offsetTop-16;
>>         if (height>=0) {
>>             d.style.height=height+"px";
>>         }
>>     }
>>
>>     function load() {
>>       if (GBrowserIsCompatible()) {
>>         resizeMapDiv();
>>         var copyright = new GCopyright(1,
>>                               new GLatLngBounds(new GLatLng(-90,
>> -180),
>>                                                 new GLatLng(90, 180)),
>>                               0,
>>                               "<a href=\"http://www.casa.ucl.ac.uk
>> \">CASA</a>");
>>         var copyrightCollection = new GCopyrightCollection
>> ("GMapImgCutter");
>>         copyrightCollection.addCopyright(copyright);
>>
>>         //create a custom picture layer
>>         var pic_tileLayers = [ new GTileLayer(copyrightCollection , 0,
>> 17)];
>>         pic_tileLayers[0].getTileUrl = customGetTileURL;
>>         pic_tileLayers[0].isPng = function() { return false; };
>>         pic_tileLayers[0].getOpacity = function() { return 1.0; };
>>         var proj=new CustomProjection(6,imageWraps);
>>         var pic_customMap = new GMapType(pic_tileLayers, proj, "Pic",
>>             {maxResolution:5, minResolution:0, errorMessage:"Data not
>> available"});
>>
>>         //Now create the custom map. Would normally be
>> G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP
>>         map = new GMap2(document.getElementById("map"),{mapTypes:
>> [pic_customMap]});
>>         map.addControl(new GLargeMapControl());
>>         map.addControl(new GMapTypeControl());
>>         map.addControl(new GOverviewMapControl());
>>         map.enableDoubleClickZoom();
>>         map.enableContinuousZoom();
>>         map.enableScrollWheelZoom();
>>         map.setCenter(new GLatLng(centreLat, centreLon), initialZoom,
>> pic_customMap);
>>
>> /////////////////////////////////////////////////////////////////////////////////////
>> //Add any markers here e.g.
>> //      map.addOverlay(new GMarker(new GLatLng(x,y)));
>> /////////////////////////////////////////////////////////////////////////////////////
>>
>>       }
>>     }
>>     
> >
>   


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"SIMILE Widgets" 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/simile-widgets?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to