dioxus_maplibre/handle/
feature_state.rs1#![allow(clippy::needless_pass_by_value)]
3
4use super::MapHandle;
5use crate::options::FeatureIdentifier;
6
7impl MapHandle {
8 pub fn set_feature_state(&self, feature: &FeatureIdentifier, state: serde_json::Value) {
10 self.fire_and_forget(|| {
11 let json = serde_json::to_string(&state).unwrap_or_default();
12 crate::interop::set_feature_state_js(
13 &self.map_id,
14 &feature.source,
15 feature.id,
16 feature.source_layer.as_deref(),
17 &json,
18 )
19 });
20 }
21
22 pub fn remove_feature_state(&self, feature: &FeatureIdentifier) {
24 self.fire_and_forget(|| {
25 crate::interop::remove_feature_state_js(
26 &self.map_id,
27 &feature.source,
28 feature.id,
29 feature.source_layer.as_deref(),
30 )
31 });
32 }
33}