У меня есть функция на карте L.circleMarker
состоящей из многих маркеров круга (L.circleMarker
). Маркеры символизируются, чтобы показать, была ли сделана фотография в этом месте.
Я бы хотел сделать все маркеры, у которых есть фотография в этом месте до вершины слоя, подобно тому, как маркер может быть поднят с помощью мыши (но без мыши в этом случае).
Вот иллюстрация оригинальной версии:
И это то, что я хотел бы, чтобы они были такими:
Я рассматривал разные слои для фотографий и фотографий, но из-за некоторых функций на карте предпочтительнее, чтобы они находились в одном слое.
Любые идеи относительно того, как это можно сделать с помощью JavaScript и Листовки?
В определении стиля для маркера круга можно указать "панель карты", на которую отображается маркер (http://leafletjs.com/reference-1.0.3.html#map-pane). Кажется, что это единственный способ указать zIndex of circleMarkers (у обычных маркеров есть опция zindexOffset
).
Мой код выглядит так:
var style = {
radius: 1.75,
fillColor: "darkred",
color: "darkred",
pane: 'overlayPane'
};
var picStyle = {
radius: 0.25,
fillColor: "blue",
color: "blue",
pane: 'shadowPane'
};
var site2 = new L.geoJSON(valuesSite2, {
onEachFeature: onEachFeature,
pointToLayer: function (feature, latlng) {
feature.properties.layer = "Site 2";
onEachFeature: onEachFeature;
if (<there is a picture>) {
return L.circleMarker(latlng, picStyle)
} else {
return L.circleMarker(latlng, style);
}
}
}).addTo(map);
Результат выглядит так: