是否可以使用谷歌地图在ol.View中设置setRotation

时间:2015-06-14 20:30:17

标签: google-maps openlayers-3

我使用的setRotation方法适用于ol.View类似于openlayers examples页面上提供的示例。我有一个在地图上绘制的编码折线,然后我们适合该图层的范围,并在必要时旋转地图。

这一切都适用于OpenStreetMap,甚至是自定义影像服务。但是,这不适用于任何Google磁贴服务。是否支持使用Google地图服务轮换ol.View,如果有,还有任何示例吗?我在ol.View和Google地图服务API documentation中看不到任何评论。

感谢您的任何意见。

1 个答案:

答案 0 :(得分:0)

您只能对45°影像使用旋转控制,请参阅以下代码:

  var map;
  function initialize() {
    var mapOptions = {
      center: new google.maps.LatLng(45.518970, -122.672899),
      zoom: 18,
      mapTypeId: google.maps.MapTypeId.SATELLITE,
      heading: 90,
      tilt: 45
    };
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
  }

  function rotate90() {
    var heading = map.getHeading() || 0;
    map.setHeading(heading + 90);
  }

  function autoRotate() {
    // Determine if we're showing aerial imagery
    if (map.getTilt() != 0) {
      window.setInterval(rotate90, 3000);
    }
  }

  google.maps.event.addDomListener(window, 'load', initialize);

您可以看到示例google45°

但对于普通的谷歌地图,轮换是不可用的。