我目前设法集成 OpenStreetMap 如在Google地图API中所述 这个示例. 。我想知道我是否也可以整合bing地图 瓷砖 进入Google Maps API。是否可以?我什么都找不到。

注意:我知道 mapstraction 但是目前,我想坚持使用Google Maps API。

提前致谢。

有帮助吗?

解决方案

根据您引用的OpenStreetMap示例,我会说是 可能的 但这可能是一个挑战。由于OSM示例使用Google API版本2,因此我会强烈建议您反对它,并且现在正式贬低了。

但是,如果您想尝试一下 tileUrlTemplate 属性与Bing的存储格式相匹配。不幸的是,Bing使用了 四树格式 而Google使用 基于坐标的格式 用于存储瓷砖并通过URL访问它们。重要的是要了解差异,如果您要使示例起作用,请务必研究上面的文档链接。另外,Maptiler有一个 奇妙的可视化 那里的不同瓷砖格式。我发现这个无价之宝。

就个人而言,我会使用开放式层。 由于Bing和Google都使用球形Mercator,因此在单个地图中添加多个图块源是一个微不足道的练习。 这里 是一个例子。

其他提示

function TileToQuadKey ( x, y, zoom){ 
  var quad = "";
  for (var i = zoom; i > 0; i--) {
    var mask = 1 << (i - 1); 
    var cell = 0; 
    if ((x & mask) != 0) cell++; 
    if ((y & mask) != 0) cell += 2; 
    quad += cell; 
  }
  return quad; 
}

var bingMapType = new google.maps.ImageMapType({
  name: "Bing",
  getTileUrl: function(coord, zoom) {
    // this returns aerial photography
    return "http://ecn.t1.tiles.virtualearth.net/tiles/a" +
      TileToQuadKey(coord.x, coord.y,  zoom) + ".jpeg?g=1173&n=z";
      // i dont know what g=1173 means
  },
  tileSize: new google.maps.Size(256, 256),
  maxZoom: 21
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top