ok, I need to send photos :)
it's up to a click

and this is after

there is no gray area, the whole map is displayed.
Also, to see the marker, you must allow the site to track your location.
function offsetCenter(latlng, offsetx, offsety) { var scale = Math.pow(2, map.getZoom()); var nw = new google.maps.LatLng( map.getBounds().getNorthEast().lat(), map.getBounds().getSouthWest().lng()); var worldCoordinateCenter = map.getProjection().fromLatLngToPoint(latlng); var pixelOffset = new google.maps.Point((offsetx / scale) || 0, (offsety / scale) || 0) var worldCoordinateNewCenter = new google.maps.Point( worldCoordinateCenter.x - pixelOffset.x, worldCoordinateCenter.y + pixelOffset.y); var newCenter = map.getProjection().fromPointToLatLng(worldCoordinateNewCenter); map.setCenter(newCenter); }
see here: http://jsfiddle.net/RASG/vA4eQ/
tested with FF 15, IE 9 and Chrome 21
source share