Стилизация листовки в качестве открытого слоя - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь начать использовать Leaflet вместо открытого слоя для управления моей открытой картой улиц.Все настройки прошли очень гладко, но я не могу изменить функциональность добавления маркеров.

В openlayer я смог создать feature базу на основе геолокации и просто добавить к ней список стилей.Можно ли сделать то же самое для иконки Leaflet?

Для простоты, скажем, у меня есть 2 типа стилей - стиль булавки, который может быть синим или зеленым кругом, и стиль фотографии.Стили выбираются динамически на основе некоторых действий, выполняемых пользователем.

Часть кода, в которой я создаю извлечения:

const style_1 = new ol.style.Style(
{
    image: new ol.style.Icon((
        {
            src: url_1
        }))
});
const style_2 = new ol.style.Style(
{
    image: new ol.style.Icon((
        {
            src: url_2
        }))
});
let photo_style = const photo = new ol.style.Style(
{
    image: new ol.style.Icon((
        {
            src: photo_url // this is dynamic
        }))
});

const styles = {'state_1': style_1, 'state_2': style_2}
let feature = new ol.Feature({geometry: new ol.geom.Point(ol.proj.transform([lon, lan]))});
style = styles[dynamic_state]
if(some_flag) {
    style = [style, photo_style]
}
else {
    style = [style]
}
feature.setStyle(style);
...