2017-02-19 30 views
2

Мне интересно узнать, поддерживает ли последняя версия Openlayers (v4.0.1) Google Maps в качестве слоя плитки. Я не могу найти никакой информации об этом. Если Openlayers не поддерживает Карты Google, кто-то может сказать мне, есть ли способ сделать это.Openlayers v4.0.1 поддерживает API-интерфейс Google Maps Javascript?

ответ

5

Для спутниковых данных в Google, вы можете пойти с источником TileImage, указав шаблон URL,:

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 
 
     }) 
 
\t \t });

EDIT: Для обычной карты данных в Google, вы можете пойти с источником TileImage, с указанием шаблона url для частей аргумента pb:

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 
 
     }) 
 
\t \t });

+1

или еще проще с адрес, указанный в ответе для OL3: http://stackoverflow.com/a/33993878/6068293 –

+7

Прямой доступ к таким фрагментам может быть нарушением условий обслуживания Google. https://developers.google.com/maps/terms раздел 10.1.a – Rob

4

OpenLayers имеет письменное согласие на использование API, который они использовали для OL2 и Ol3. Поддержка этого была остановлена ​​из-за повторяющихся проблем с указанным api.

не разрешено использовать плитки напрямую, ответ не является законным.

Однако, вы можете использовать Map API Google и написать собственную реализацию источника OL с ним или использовать существующее как ol3-google-maps

Более подробную информацию можно найти здесь: https://github.com/openlayers/openlayers/issues/2205