Aquí es un ejemplo. He basado esta fuera de su pastebin y código de este ejemplo en el Google doc.
El código faltaba el maxZoom parámetro en el mapTypeOptions objeto; el cual es un parámetro necesario. Ver:
Google Doc (bajo MapType interfaz de cabecera)
OSM Doc, en la sección " Ejemplo - Utilizando el API de Google Maps v3 configuración de OSM como un mapa base de la capa de encabezado:
Tenga en cuenta que usted necesita para establecer maxZoom en el ImageMapType para que funcione como una capa de base.
Aquí está el código js:
var osmMapTypeOptions = {
getTileUrl: function(coord, zoom) {
return "http://tile.openstreetmap.org/" +
zoom + "/" + coord.x + "/" + coord.y + ".png";
},
tileSize: new google.maps.Size(256, 256),
isPng: true,
maxZoom: 19,
minZoom: 0,
name: "OSM"
};
var osmMapType = new google.maps.ImageMapType(osmMapTypeOptions);
var map;
function initialize(){
var latlng = new google.maps.LatLng(57, 21);
var mapOpts = {
zoom: 3,
center: latlng,
panControl: true,
scaleControl: true,
mapTypeControlOptions: {
mapTypeIds: ['OSM',google.maps.MapTypeId.ROADMAP],
style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
},
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.SMALL
},
};
map = new google.maps.Map(document.getElementById("map"), mapOpts);
map.mapTypes.set('OSM', osmMapType);
map.setMapTypeId('OSM');