我知道我可以将一张Google地图作为OpenLayers.Layer.Google(.v3)图层添加到OpenLayers 2地图中,并可以使用以下代码将流量图层添加到包含的地图中:
var map;
function init() {
map = new OpenLayers.Map('map');
map.addControl(new OpenLayers.Control.LayerSwitcher());
var gphy = new OpenLayers.Layer.Google(
"Google Physical",
{type: google.maps.MapTypeId.TERRAIN}
);
var gmap = new OpenLayers.Layer.Google(
"Google Streets", // the default
{numZoomLevels: 20}
);
map.addLayers([gmap, gphy]);
var trafficLayer = new google.maps.TrafficLayer();
trafficLayer.setMap(gmap.mapObject);
map.setCenter(new OpenLayers.LonLat(-2, 50.9).transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
), 10);
}
然而,我们的网站使用一组标准基本地图,我们希望能够在这些地图上显示交通图层。这可能吗?
我们也有兴趣能够以类似的方式显示Google天气和街景叠加层。
我们的网站已经使用了球形墨卡托投影,所以这不是问题。
答案 0 :(得分:3)
从Google地图服务条款:
(h)没有Google地图时不使用内容。你不能使用或 除非您是,否则在没有相应Google地图的情况下显示内容 明确允许在Maps API文档中这样做。在任何 事件,您不得使用或显示内容或结合使用 使用非Google地图。例如,您不得使用获得的地理编码 通过服务与非谷歌地图一起使用。另一个 例如,您不得在a旁边显示街景图像 非谷歌地图,但您可以在没有的情况下显示街景图像 相应的Google地图,因为Maps API文档 明确允许你这样做。
简而言之,您无法将Google地图内容与非谷歌地图结合使用,但您可以使用不带地图,具体取决于API文档所说的内容。