Это не поддерживается вне коробки по листовке, но вы можете написать свою собственную логику, используя pointToLayer
функцию L.GeoJSON
:
Функция которые будут использоваться для создания слоев для точек GeoJSON (если не указано, будут созданы простые маркеры)
http://leafletjs.com/reference.html#geojson-pointtolayer
new L.GeoJSON(collection, {
pointToLayer: function (feature, latlng) {
// Return a custom marker
}
});
В этой функции у вас есть доступ к свойствам каждой функции, так что вы можете вернуть пользовательский маркер на их основе. Надежда, что помогает, также нашли следующую суть на GitHub, который показывает реализацию, которая может делать то, что вы ищете:
https://gist.github.com/tmcw/3861338
Спасибо большое за вашу помощь. Пробовал это, но по какой-то причине функция pointToLayer никогда не вызывается, поэтому я по-прежнему вижу мой geojson без стилей ... Попытка выяснить, что пошло не так ... –
В итоге я использовал функцию стиля (вместо pointToLayer) , Я просто заменяю стиль, основанный на свойствах объектов. Итак, еще раз, спасибо за вашу помощь, вы показали мне правильное направление! –
Извините, я предполагал, что вам нужны маркеры, перечитывая ваш вопрос, я вижу, что я должен был указать на функцию стиля. Виноват. Функция pointToLayer работает только для функций точки GeoJSON – iH8