Я использую плагин leaflet.shapefile с Leaflet JS, и я пытаюсь изменить Esri формы/многоугольник в нормальные иконки маркеров в зависимости от определенного уровня масштабированиялистовка JS - изменение формы Esri в маркер на определенном уровне масштабирования
плагин позволяет мне загрузить ZipFile на нашем веб-сервер, который затем обрабатывается с помощью плагина и добавляется в качестве слоя в Листовке JS
var properties = new L.Shapefile('data/Test.zip', { style: propertyStyle, onEachFeature: propertyOnEachFeature })
то, что я хотел бы достичь: когда пользователь увеличенного в форме многоугольника видимо, однако, когда пользователь приближается к zoomlevel 10, он должен отображать маркер вместо этого, поскольку esri s hape/polygons очень маленькие и почти не видны.
зумирования и из части было легко сделать с:
map.on('zoomend', function() {
if (map.getZoom() <10){
if (map.hasLayer(properties)) {
map.removeLayer(properties);
} else {
console.log("no property layer active");
}
}
if (map.getZoom() >= 10){
if (map.hasLayer(properties)){
console.log("property layer already added");
} else {
map.addLayer(properties);
}
}
}
Однако я не знаю, как изменить L.ShapeFile к L.Marker или что правильный подход будет.
Спасибо за помощь и совет.
UPDATE
Ответ 'IvanSanchez' при условии, мне было именно то, что я искал. С этой простой плагин «Leaflet.Deflate» Я был в состоянии просто преобразовать любую форму, многоугольник, круг или линию маркера и все, что потребовалось было включить плагин JS и один лайнер:
L.Deflate({minSize: 20}).addTo(map);
спасибо IvanSanchez, это именно то, что я искал, работает как шарм. – user6450463
HI Ivan, не могли бы вы взглянуть на мои ответы на предыдущий вопрос, мой вопрос здесь: http://stackoverflow.com/questions/40489828/leaflet-js-leaflet-deflate-changing-default- значок значка-значка на заказ, спасибо заранее – user6450463