可以将Google流量图层添加到OpenLayers 2地图,而不显示Google基本地图

时间:2015-08-21 11:18:02

标签: google-maps google-maps-api-3 openlayers

我知道我可以将一张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天气和街景叠加层。

我们的网站已经使用了球形墨卡托投影,所以这不是问题。

1 个答案:

答案 0 :(得分:3)

从Google地图服务条款:

  

(h)没有Google地图时不使用内容。你不能使用或   除非您是,否则在没有相应Google地图的情况下显示内容   明确允许在Maps API文档中这样做。在任何   事件,您不得使用或显示内容或结合使用   使用非Google地图。例如,您不得使用获得的地理编码   通过服务与非谷歌地图一起使用。另一个   例如,您不得在a旁边显示街景图像   非谷歌地图,但您可以在没有的情况下显示街景图像   相应的Google地图,因为Maps API文档   明确允许你这样做。

简而言之,您无法将Google地图内容与非谷歌地图结合使用,但您可以使用不带地图,具体取决于API文档所说的内容。