【问题标题】:Openlayers v4.0.1 support Google Maps Javascript API?Openlayers v4.0.1 支持 Google Maps Javascript API 吗?
【发布时间】:2017-02-19 20:23:52
【问题描述】:

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

【问题讨论】:

    标签: javascript google-maps gis openlayers


    【解决方案1】:

    OpenLayers 有使用 API 的书面同意,他们将其用于 OL2 和 OL3。由于上述 api 的反复出现问题,对它的支持已停止。

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

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

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

    【讨论】:

      【解决方案2】:

      对于 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
              })
      		});

      编辑: 对于 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
              })
      		});

      【讨论】:

      猜你喜欢
      • 2016-09-02
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2011-07-14
      • 2022-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多