为什么这种类似v2的结构在v3中不起作用?
(而不是路线图瓷砖路径我未定义)
var mytype = new google.maps.ImageMapType({
getTileUrl: function(tile, zoom) {
var url = '';
if (cond_need_custom_tiles) {
url = 'http://domain.com/mytiles/tile-'+tile.x+'-'+tile.y+'-'+zoom;
}
else { // need ROADMAP tiles
// old (v2):
// url = G_NORMAL_MAP.getTileLayers()[0].getTileUrl(tile, zoom);
// new (v3):
url = map.mapTypes.get(google.maps.MapTypeId.ROADMAP).getTile(tile, zoom); // why it doesn't work??
}
console.log(url); // undefined!!! why?
return url;
},
tileSize: new google.maps.Size(256, 256),
minZoom: 0,
maxZoom: Number(opt.zoom),
name: 'mytiles',
});
PS:我希望我的贴图mapType和ROADMAP在背景中(没有我的贴片),谢谢。
答案 0 :(得分:1)
不再为basemaps定义getTile();它应仅用作自定义mapTypes上的用户定义方法 - 有关其他详细信息,请参阅http://code.google.com/p/gmaps-api-issues/issues/detail?id=3635#c2的注释#2。
在您的特定用例中,您可以简单地始终加载ROADMAP切片,然后根据cond_need_custom_tiles显示您的自定义imageMapType?
或者,上面提到的错误是提供有关用例的其他详细信息的好地方。