谷歌地图v2到v3:路线图getTile()为什么不起作用?

时间:2011-10-29 21:34:29

标签: google-maps-api-3

为什么这种类似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在背景中(没有我的贴片),谢谢。

1 个答案:

答案 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?

或者,上面提到的错误是提供有关用例的其他详细信息的好地方。