Я работаю с набором данных, где мне дается время, проведенное в местах или видах транспорта - я пытаюсь прикрепить кластеры маркеров для видов транспорта на линии ниже друг друга на правой стороне карты, чтобывидно, сколько времени уходит на каждый вид транспорта.
Я попытался сделать это, найдя широту различных положений пикселей, каждый раз, когда карта перемещается, например, так:
var centerPoint = map.getSize().divideBy(2);
map.on('move', function(e) {
var name_array = [];
var multiplier_x = 0.95;
var multiplier_y = 0.8;
var index = 0;
layer_group.eachLayer(function (layer) {
if (layer.feature.properties.Name == 'Cycling' || layer.feature.properties.Name == 'Walking' || layer.feature.properties.Name == 'Driving' || layer.feature.properties.Name == 'Boating' || layer.feature.properties.Name == 'On a bus' || layer.feature.properties.Name == 'On a train'){
if(!(layer.feature.properties.Name in name_array)){
var targetPoint = centerPoint.add([centerPoint.x*multiplier_x, -centerPoint.y*(multiplier_y-index)]),
targetLatLng = map.containerPointToLatLng(targetPoint);
name_array[layer.feature.properties.Name] = targetLatLng;
index += 0.2;
}
layer.setLatLng(name_array[layer.feature.properties.Name]);
}
});
});
Проблема в том, что хотя каждой форме транспортировки присваивается разныйВ любом случае, они, похоже, в любом случае объединяются и изменяются между различными кластерами при перемещении карты.Кроме того, при перемещении кисти карта, кажется, смещается все дальше и дальше влево, так как я пытаюсь подогнать карту к границам.
Я не знаю, возможно ли достичь того, что я пытаюсь - или есть ли другой способ сделать это, возможно, путем создания отдельной кластерной группы для транспортировки, что, по крайней мере, я предполагаюудостоверился бы, что транспорт не сгруппирован с местоположениями?
Код: http://bl.ocks.org/skov94/e44fcebd282fe5eb4c708e8ba0af95d6