react-native-maplibre-gl-js 1.4.2 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -73,7 +73,7 @@ export default class MapSourcesController {
73
73
  });
74
74
  };
75
75
  #updateSourceAndItsLayers = (source, reactNativeBridge, map) => {
76
- const oldSourceAsString = stableStringify(this.#sources.get(source.id));
76
+ const oldSourceAsString = stableStringify(this.#sources.get(source.id)?.source);
77
77
  const newSourceAsString = stableStringify(source.source);
78
78
 
79
79
  // Update everything it the source changed.
@@ -82,41 +82,29 @@ export default class MapSourcesController {
82
82
  this.#addSourceAndItsLayers(source, reactNativeBridge, map);
83
83
  return;
84
84
  }
85
- // Update only the layers if they changed.
86
- source.layers.forEach(({
87
- layer,
88
- beforeId
89
- }, index) => {
90
- const oldLayerAsString = stableStringify(this.#sources.get(source.id)?.layers[index]);
91
- const newLayerAsString = stableStringify(layer);
92
- if (oldLayerAsString !== newLayerAsString) {
93
- map.removeLayer(layer.id);
85
+ const oldLayersAsString = stableStringify(this.#sources.get(source.id)?.layers.map(item => item.layer));
86
+ const newLayersAsString = stableStringify(source.layers.map(item => item.layer));
87
+
88
+ // Update the layers only if at least one changed (if one changed, the
89
+ // orders of the layers might have changed, so we need to update all of
90
+ // them).
91
+ if (oldLayersAsString !== newLayersAsString) {
92
+ this.#getAssociatedLayers(source.id, map).forEach(layerId => {
93
+ if (map.getLayer(layerId)) {
94
+ map.removeLayer(layerId);
95
+ }
96
+ });
97
+ source.layers.forEach(({
98
+ layer,
99
+ beforeId
100
+ }) => {
94
101
  map.addLayer({
95
102
  source: source.id,
96
103
  ...layer
97
104
  }, beforeId);
98
- }
99
- });
100
- map.addSource(source.id, source.source);
101
- source.layers.forEach(({
102
- layer,
103
- beforeId
104
- }) => {
105
- // Add the layer to the map.
106
- map.addLayer({
107
- source: source.id,
108
- ...layer
109
- }, beforeId);
110
- // Send the "mount" event to the React Native listener.
111
- reactNativeBridge.postMessage({
112
- type: 'mapSourceListenerEvent',
113
- payload: {
114
- sourceId: source.id,
115
- layerId: layer.id,
116
- eventName: 'mount'
117
- }
118
105
  });
119
- });
106
+ return;
107
+ }
120
108
  };
121
109
  #removeSourceAndItsLayers = (sourceId, reactNativeBridge, map) => {
122
110
  const style = map.getStyle();
@@ -1 +1 @@
1
- {"version":3,"names":["stableStringify","MapSourcesController","sources","Map","addExistingSourcesToMap","reactNativeBridge","map","entries","forEach","source","isStyleLoaded","addSourceAndItsLayers","setSourceListeners","once","handleMountMessage","message","run","mapReady","payload","set","id","handleUpdateMessage","updateSourceAndItsLayers","handleUnmountMessage","get","sourceId","removeSourceAndItsLayers","delete","#addSourceAndItsLayers","addSource","layers","layer","beforeId","addLayer","postMessage","type","layerId","eventName","#updateSourceAndItsLayers","oldSourceAsString","newSourceAsString","index","oldLayerAsString","newLayerAsString","removeLayer","#removeSourceAndItsLayers","style","getStyle","getAssociatedLayers","getLayer","getSource","removeSource","#setSourceListeners","listeners","Object","sendEventToReactNative","event","target","on","#getAssociatedLayers","filter"],"sourceRoot":"../../../../src","sources":["web/controllers/MapSourcesController.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["stableStringify","MapSourcesController","sources","Map","addExistingSourcesToMap","reactNativeBridge","map","entries","forEach","source","isStyleLoaded","addSourceAndItsLayers","setSourceListeners","once","handleMountMessage","message","run","mapReady","payload","set","id","handleUpdateMessage","updateSourceAndItsLayers","handleUnmountMessage","get","sourceId","removeSourceAndItsLayers","delete","#addSourceAndItsLayers","addSource","layers","layer","beforeId","addLayer","postMessage","type","layerId","eventName","#updateSourceAndItsLayers","oldSourceAsString","newSourceAsString","oldLayersAsString","item","newLayersAsString","getAssociatedLayers","getLayer","removeLayer","#removeSourceAndItsLayers","style","getStyle","getSource","removeSource","#setSourceListeners","listeners","Object","sendEventToReactNative","event","target","on","#getAssociatedLayers","filter"],"sourceRoot":"../../../../src","sources":["web/controllers/MapSourcesController.ts"],"mappings":"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","ignoreList":[]}
@@ -23620,21 +23620,27 @@ uniform mat4 u_projection_matrix;
23620
23620
  });
23621
23621
  };
23622
23622
  #updateSourceAndItsLayers = (source, reactNativeBridge, map) => {
23623
- const oldSourceAsString = stableStringify(this.#sources.get(source.id));
23623
+ const oldSourceAsString = stableStringify(
23624
+ this.#sources.get(source.id)?.source
23625
+ );
23624
23626
  const newSourceAsString = stableStringify(source.source);
23625
23627
  if (oldSourceAsString !== newSourceAsString) {
23626
23628
  this.#removeSourceAndItsLayers(source.id, reactNativeBridge, map);
23627
23629
  this.#addSourceAndItsLayers(source, reactNativeBridge, map);
23628
- return;
23629
- }
23630
- source.layers.forEach(
23631
- ({ layer, beforeId }, index) => {
23632
- const oldLayerAsString = stableStringify(
23633
- this.#sources.get(source.id)?.layers[index]
23634
- );
23635
- const newLayerAsString = stableStringify(layer);
23636
- if (oldLayerAsString !== newLayerAsString) {
23637
- map.removeLayer(layer.id);
23630
+ } else {
23631
+ const oldLayersAsString = stableStringify(
23632
+ this.#sources.get(source.id)?.layers.map((item) => item.layer)
23633
+ );
23634
+ const newLayersAsString = stableStringify(
23635
+ source.layers.map((item) => item.layer)
23636
+ );
23637
+ if (oldLayersAsString !== newLayersAsString) {
23638
+ this.#getAssociatedLayers(source.id, map).forEach((layerId) => {
23639
+ if (map.getLayer(layerId)) {
23640
+ map.removeLayer(layerId);
23641
+ }
23642
+ });
23643
+ source.layers.forEach(({ layer, beforeId }) => {
23638
23644
  map.addLayer(
23639
23645
  {
23640
23646
  source: source.id,
@@ -23642,27 +23648,9 @@ uniform mat4 u_projection_matrix;
23642
23648
  },
23643
23649
  beforeId
23644
23650
  );
23645
- }
23651
+ });
23646
23652
  }
23647
- );
23648
- map.addSource(source.id, source.source);
23649
- source.layers.forEach(({ layer, beforeId }) => {
23650
- map.addLayer(
23651
- {
23652
- source: source.id,
23653
- ...layer
23654
- },
23655
- beforeId
23656
- );
23657
- reactNativeBridge.postMessage({
23658
- type: "mapSourceListenerEvent",
23659
- payload: {
23660
- sourceId: source.id,
23661
- layerId: layer.id,
23662
- eventName: "mount"
23663
- }
23664
- });
23665
- });
23653
+ }
23666
23654
  };
23667
23655
  #removeSourceAndItsLayers = (sourceId, reactNativeBridge, map) => {
23668
23656
  const style = map.getStyle();