Можно ли установить вращение в ol.View с картами Google

Я использую метод setRotation для ol.View аналогичного примеры доступны на странице примеры openlayers. У меня есть закодированная полилиния, которая нарисована на карте, а затем мы подгоняем ее под экстент этого слоя и, если необходимо, поворачиваем карту.

Все это прекрасно работает с OpenStreetMap и даже с пользовательским сервисом изображений. Однако это не будет работать ни с одним из сервисов плиток Google. Есть ли поддержка вращения ol.View с картографическими сервисами Google, если да, то есть примеры? Я не видел комментариев в документации по API для ol.View и картографические сервисы Google.

Спасибо за любой вклад.


person Scott    schedule 14.06.2015    source источник


Ответы (1)


Вы можете использовать управление поворотом только для изображений под углом 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°.

Но для обычных карт Google вращение недоступно.

person scaisEdge    schedule 14.06.2015
comment
Это не имеет ничего общего с OpenLayers. - person Jonatas Walker; 15.06.2015