You extend google.maps.OverlayView with an object that overrides onAdd (), draw () and onRemove ()
onAdd , , google.maps.MapPanes, . . :
CustomOverlayView.prototype.initPanes = function() {
var panes = this.getPanes();
this.drawPane = jQuery(panes.floatPane);
this.drawPane.attr("id", "map-draw-pane");
this.drawPane.css("background-color", "transparent");
};
, google.maps.LatLng Point x y. google.maps.MapCanvasProjection, , , google.maps.LatLng, ( ).
var projection = this.getProjection();
var drawingLocationPoint = projection.fromLatLngToContainerPixel(markerData.location);
, Google : http://www.samedwards.net