2017-01-26 3 views
0

В bing-картах v8, как я могу установить непрозрачность на AnimatedTileLayer? Значение непрозрачности I, установленное ниже (0.2), не работает.Карты Bing - слой анимированной плитки - непрозрачность

var tileSources = []; 
     for (var i = 0; i < timeStamps.length; i++) { 
      var path = 'https://api.weather.com/v3/TileServer/tile/radarFcst?fts={fts}&ts={ts}&xyz={x}:{y}:{zoom}&apiKey={apiKey}'; 
      path = path.replace('{apiKey}', weatherApiKey); 
      path = path.replace('{fts}', timeStamps[i]); 
      path = path.replace('{ts}', tsNow); 
      var tileSource = new Microsoft.Maps.TileSource({ 
       uriConstructor: path 
      }); 
      tileSources.push(tileSource); 
     } 

     EmptyOverlay.prototype = new Microsoft.Maps.CustomOverlay(); 
     function EmptyOverlay() { 
     } 
     EmptyOverlay.prototype.onAdd = function() { 
      var container = document.createElement('div'); 
      this.setHtmlElement(container); 
     }; 
     var overlay = new EmptyOverlay(); 
     vm.map.layers.insert(overlay); 
     var animatedLayer = new Microsoft.Maps.AnimatedTileLayer({ 
      mercator: tileSources, 
      frameRate: 500, 
      opacity: 0.2, 
      loadingScreen: overlay 
     }); 
     vm.map.layers.insert(animatedLayer); 

ответ

0

AnimatedTileLayer не имеет опции непрозрачности: https://msdn.microsoft.com/en-us/library/mt772207.aspx я добавлю это как запрос функций.

Если вам нужно это правильный путь, есть хак, который может быть использован, чтобы сделать это:

var opacity = 0.2; 

//Add an event handler that fires for each frame of the animation. 
Microsoft.Maps.Events.addHandler(animatedLayer, 'onFrameLoaded', function (e) { 
    //Check the opacity of the root html element used by the animated tile layer if it is not set to the current opacity. 
    if (animatedLayer._htmlElement && animatedLayer._htmlElement.style.opacity !== opacity) { 
     animatedLayer._htmlElement.style.opacity = opacity; 
    } 
}); 

Заметим, что это хак и официально не поддерживается, поэтому он может разорваться в любое время, и не рекомендуется для использования в производственных приложениях.

Смежные вопросы