2016-05-20 1 views
0

У меня есть пользовательский элемент управления на моей карте, которая имеет следующее свойство:В лифлете, как мне заказать элементы управления, если у меня есть два в одном положении?

position: "topright" 

Это ставит его в том же положении, как управление по умолчанию Layers. Тем не менее, мой пользовательский контроль размещен выше контроль уровней. Как указать, что должно быть сверху? В документации по control positions не упоминается, что делать, если более одного занимает одно и то же место.

Моя карта инициализируется следующим образом:

var map = L.map('map', { 
    center: [0.0, 0.0], 
    zoom: 2 
}); 

map.addControl(new L.Control.Cluster()) 

Кнопка сама настроена, как это, в `ONA

Это создает мое в правом верхнем углу, как это:

L.Control.Cluster = L.Control.extend({ 
    options: { 
    position: "topright", 
    }, 

    onAdd: function (map) { 
    var clusterName = "leaflet-control-cluster" 
     , container = L.DomUtil.create("div", clusterName + " leaflet-bar") 
     , options = this.options 

    this._map = map 

    var container = L.DomUtil.create('div', 'leaflet-bar leaflet-control leaflet-control-custom'); 
    container.style.backgroundColor = 'white'; 
    container.style.backgroundImage = "url(image.png)"; 
    container.style.backgroundRepeat = "no-repeat"; 
    container.style.backgroundPosition = "center"; 
    container.style.backgroundSize = "25px 25px"; 
    container.style.width = '36px'; 
    container.style.height = '36px'; 

    return container 
    } 
}) 

Это устанавливает мои верхние правые следующим образом:

Top Right example

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

ответ

2

Это просто связано с порядком создания элементов управления. Это добавит ваш пользовательский элемент управления после контроля уровня:

L.control.layers(baseLayers, overlays).addTo(map); 

map.addControl(new L.Control.Cluster()); 

http://plnkr.co/edit/3VipBSvsQWsiQa5hfBCD?p=preview

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