Openlayers v4.0.1支持Google Maps Javascript API吗?

E. *_*ira 3 javascript gis google-maps openlayers

我想知道Openlayers的最新版本(v4.0.1)是否支持Google Maps作为Tile Layer.我找不到任何关于此的文件.如果Openlayers不支持谷歌地图,有人可以告诉我是否有任何方法可以做到这一点.

dub*_*ube 7

OpenLayers已获得使用api的书面同意,他们将其用于OL2和OL3.由于所述api反复出现问题,因此停止了对它的支持.

我们不允许直接使用瓷砖,答案是不合法的.

但是,您可以使用Google的Map api并使用它编写自己的OL源代码实现,或使用现有的扩展程序,如ol3-google-maps

更多信息可以在这里找到:https://github.com/openlayers/openlayers/issues/2205


Mic*_*icz 5

对于Google的卫星数据,您可以使用TileImage源,并指定模式网址:

var map = new ol.Map({
        layers: [
          new ol.layer.Tile({
            source: new ol.source.TileImage({url: 'http://khm0.googleapis.com/kh?v=717&hl=pl&&x={x}&y={y}&z={z}'})
          })
        ],
        target: 'map',
        view: new ol.View({
          center: ol.proj.fromLonLat([19.2, 52]),
          zoom: 6
        })
		});
Run Code Online (Sandbox Code Playgroud)

编辑:对于Google的纯地图数据,您可以使用TileImage源,为pb参数的各个部分指定模式url:

var map = new ol.Map({
        layers: [
          new ol.layer.Tile({
            source: new ol.source.TileImage({url: 'http://maps.google.com/maps/vt?pb=!1m5!1m4!1i{z}!2i{x}!3i{y}!4i256!2m3!1e0!2sm!3i375060738!3m9!2spl!3sUS!5e18!12m1!1e47!12m3!1e37!2m1!1ssmartmaps!4e0'})
          })
        ],
        target: 'map',
        view: new ol.View({
          center: ol.proj.fromLonLat([19.2, 52]),
          zoom: 6
        })
		});
Run Code Online (Sandbox Code Playgroud)

  • 像这样直接访问磁贴可能违反了Google的服务条款。https://developers.google.com/maps/terms第10.1.a节 (8认同)