2016-01-12 2 views
2

Я использую один слой с тремя функциями и хотел бы указать z-порядок, но не работает в любом случае.Есть ли способ указать z-порядок функции на одном уровне?

В соответствии с моей способностью понимания рисуется в том же порядке, в котором я добавляю, поэтому я попытался добавить в обратном порядке, но это не сработало для меня.

Кода для добавления ФУНКЦИИ

var features=[]; 
jQuery.each(data.route, function (key, val) 
{ 
    var localfeature = new ol.Feature({ geometry: objGeoJSON.readGeometry(JSON.parse(val.simpleRoute)).transform('EPSG:4326', 'EPSG:3857') }); 
    localfeature.set("rtype", "R" + (key + 1)); 
    features.push(localfeature); 
}); 
currentRoute.routingSource.addFeatures(features); 

Стиля функции слоя

//function to apply color based on rtype attribute. 
function styleFunction(feature, resolution) { 
    var level = feature.get('rtype'); 
    if (!level || !RouteType[level]) { 
    return [defaultStyle]; 
    } 
    if (!styleCache[level]) { 
    styleCache[level] = new ol.style.Style({ 
     stroke: new ol.style.Stroke({ 
     color: RouteType[level], 
     width: 4 
     }) 
    }); 
    } 
    // at this point, the style for the current level is in the cache 
    // so return it (as an array!) 
    return [styleCache[level]]; 
} 
+0

Я думаю, вы должны показать соответствующий код. –

+0

Непонятно, что вы подразумеваете под 'z-order'. Это 'z-index'? –

+0

Да, я имею в виду z-индекс. Я бы хотел показать функцию поверх другого z-index, если координата такая же. –

ответ

2

Наконец я получил решение, Вот последняя функция стиля, который будет переставлять функция Z-индекс.

`

//function to apply color based on rtype attribute. 
    function styleFunction(feature, resolution) { 
     var level = feature.get('rtype'); 
     if (!level || !RouteType[level]) { 
     return [defaultStyle]; 
     } 
     if (!styleCache[level]) { 
     styleCache[level] = new ol.style.Style({ 
      stroke: new ol.style.Stroke({ 
      color: RouteType[level], 
      width: 4 
      }), 
      zIndex: zIndexValue 
     }); 
     } 
    // at this point, the style for the current level is in the cache 
    // so return it (as an array!) 
    return [styleCache[level]]; 
}` 

вы можете проверить пример здесь http://bl.ocks.org/wboykinm/cc509eb2763ca1ba9293

+0

Тогда вы можете отметить его как правильную. –

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