scratch that. I hate reading code in these forums. On Nov 21, 1:38 pm, CroNiX <[email protected]> wrote: > Try changing your overlay declaration from > var overlay; > to > var overlay = new google.maps.OverlayView(); > overlay.setMap(map); > overlay.draw = function () { > if (!this.ready) { > this.ready = true; > google.maps.event.trigger(this, 'ready'); > } > > }; > > On Nov 21, 7:27 am, so0ly <[email protected]> wrote: > > > Hi, > > > I'm trying to do an overlay on Google Maps. I have generated tiles of > > my image using maptiler, but the example generated by maptiler is in > > v2 and i want to use v3. The example generated by maptiler is also > > very complex and does some unnecessary opacity stuff. Now v3 of GM has > > changed a lot since v2 and i have some problems to generate the LatLng > > of a certain point on the screen. getProjection() keeps being > > undefined, whatever i do, any idea how to get the projection? > > > <script> > > var mapBounds = new google.maps.LatLngBounds(); > > var mapMinZoom = 8; > > var mapMaxZoom = 14; > > var overlay; > > > var maptiler = new google.maps.ImageMapType({ > > getTileUrl: function(coord, zoom) { > > if ((zoom < mapMinZoom) || (zoom > mapMaxZoom)) { > > return "none.png"; > > } > > var ymax = 1 << zoom; > > var y = ymax - coord.y -1; > > var tileBounds = new google.maps.LatLngBounds( > > overlay.getProjection().fromDivPixelToLatLng( new > > google.maps.Point( (coord.x)*256, (coord.y+1)*256 ) , zoom ), > > overlay.getProjection().fromDivPixelToLatLng( new > > google.maps.Point( (coord.x+1)*256, (coord.y)*256 ) , zoom ) > > ); > > if (mapBounds.intersects(tileBounds)) { > > return "" + zoom + "/" + coord.x + "/" + (Math.pow(2,zoom)- > > coord.y-1) + ".png"; > > } else { > > return "none.png"; > > } > > }, > > tileSize: new google.maps.Size(256, 256), > > isPng: true > > }); > > > var map; > > function initialize() { > > map = new > > google.maps.Map(document.getElementById("map_canvas")); > > map.setZoom(11); > > map.setMapTypeId('satellite'); > > mapBounds.extend(new google.maps.LatLng(50.9388615939, > > 3.80480816501)); > > mapBounds.extend(new google.maps.LatLng(51.4402541425, > > 4.73612507791)); > > map.fitBounds(mapBounds); > > > overlay = new google.maps.OverlayView(); > > overlay.draw = function() {}; > > overlay.setMap(map); > > > map.overlayMapTypes.insertAt(0, maptiler); > > } > > </script> > > > the overlay part is a hack i found on the internet which supposed to > > get you to the projection. unfortunately it didn't work. Any idea's > > how to fix this? in V2 you could do something like this: > > > var mercator = new GMercatorProjection() > > mercator.fromPixelToLatLng( new GPoint( (tile.x)*256, (tile.y > > +1)*256 ) , zoom ) > > > But this isn't possible anymore in v3. > > > Anyone that can help? > > > The example generated by maptiler can be found here: > > >http://gmapsexample.staging1.kunstmaan.be/googlemapsv2.html > > > This is a simple example in v3 which works: > > >http://gmapsexample.staging1.kunstmaan.be/googlemapsv3_simple.html > > > but i want everything except the map to be a specific color, so this > > is the example i'm trying to get working: > > >http://gmapsexample.staging1.kunstmaan.be/googlemapsv3.html > > > thanks, > > > Daan > >
-- You received this message because you are subscribed to the Google Groups "Google Maps JavaScript API v3" 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-js-api-v3?hl=en.
