我正试图开始使用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);