#![allow(clippy::needless_pass_by_value)]
use super::MapHandle;
use crate::options::LayerOptions;
impl MapHandle {
pub fn add_layer(&self, options: LayerOptions) {
self.fire_and_forget(|| {
let json = serde_json::to_string(&options).unwrap_or_default();
crate::interop::add_layer_js(&self.map_id, &json)
});
}
pub fn remove_layer(&self, id: &str) {
self.fire_and_forget(|| crate::interop::remove_layer_js(&self.map_id, id));
}
pub fn set_paint_property(&self, layer_id: &str, name: &str, value: serde_json::Value) {
self.fire_and_forget(|| {
let json = serde_json::to_string(&value).unwrap_or_default();
crate::interop::set_paint_property_js(&self.map_id, layer_id, name, &json)
});
}
pub fn set_layout_property(&self, layer_id: &str, name: &str, value: serde_json::Value) {
self.fire_and_forget(|| {
let json = serde_json::to_string(&value).unwrap_or_default();
crate::interop::set_layout_property_js(&self.map_id, layer_id, name, &json)
});
}
pub fn move_layer(&self, layer_id: &str, before_id: Option<&str>) {
self.fire_and_forget(|| crate::interop::move_layer_js(&self.map_id, layer_id, before_id));
}
pub fn set_filter(&self, layer_id: &str, filter: serde_json::Value) {
self.fire_and_forget(|| {
let json = serde_json::to_string(&filter).unwrap_or_default();
crate::interop::set_filter_js(&self.map_id, layer_id, &json)
});
}
}