react-native-maps 1.23.10 → 1.23.11
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.
|
@@ -134,6 +134,7 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
134
134
|
double x = map != null && map.hasKey("x") ? map.getDouble("x") : 0.5;
|
|
135
135
|
double y = map != null && map.hasKey("y") ? map.getDouble("y") : 1.0;
|
|
136
136
|
view.setAnchor(x, y);
|
|
137
|
+
view.setUpdated(true);
|
|
137
138
|
}
|
|
138
139
|
|
|
139
140
|
@Override
|
|
@@ -144,6 +145,7 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
144
145
|
@Override
|
|
145
146
|
public void setImage(MapMarker view, @Nullable ReadableMap value) {
|
|
146
147
|
view.setImage(value.getString("uri"));
|
|
148
|
+
view.setUpdated(true);
|
|
147
149
|
}
|
|
148
150
|
|
|
149
151
|
@Override
|
|
@@ -159,26 +161,31 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
159
161
|
@Override
|
|
160
162
|
public void setCoordinate(MapMarker view, @Nullable ReadableMap value) {
|
|
161
163
|
view.setCoordinate(value);
|
|
164
|
+
view.setUpdated(true);
|
|
162
165
|
}
|
|
163
166
|
|
|
164
167
|
@Override
|
|
165
168
|
public void setDescription(MapMarker view, @Nullable String value) {
|
|
166
169
|
view.setSnippet(value);
|
|
170
|
+
view.setUpdated(true);
|
|
167
171
|
}
|
|
168
172
|
|
|
169
173
|
@Override
|
|
170
174
|
public void setDraggable(MapMarker view, boolean value) {
|
|
171
175
|
view.setDraggable(value);
|
|
176
|
+
view.setUpdated(true);
|
|
172
177
|
}
|
|
173
178
|
|
|
174
179
|
@Override
|
|
175
180
|
public void setTitle(MapMarker view, @Nullable String value) {
|
|
176
181
|
view.setTitle(value);
|
|
182
|
+
view.setUpdated(true);
|
|
177
183
|
}
|
|
178
184
|
|
|
179
185
|
@Override
|
|
180
186
|
public void setIdentifier(MapMarker view, @Nullable String value) {
|
|
181
187
|
view.setIdentifier(value);
|
|
188
|
+
view.setUpdated(true);
|
|
182
189
|
}
|
|
183
190
|
|
|
184
191
|
@Override
|
|
@@ -189,6 +196,7 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
189
196
|
@Override
|
|
190
197
|
public void setOpacity(MapMarker view, double value) {
|
|
191
198
|
view.setOpacity((float) value);
|
|
199
|
+
view.setUpdated(true);
|
|
192
200
|
}
|
|
193
201
|
|
|
194
202
|
@Override
|
|
@@ -197,6 +205,7 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
197
205
|
Color.colorToHSV(value, hsv);
|
|
198
206
|
// NOTE: android only supports a hue
|
|
199
207
|
view.setMarkerHue(hsv[0]);
|
|
208
|
+
view.setUpdated(true);
|
|
200
209
|
}
|
|
201
210
|
|
|
202
211
|
@Override
|
|
@@ -221,18 +230,20 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
221
230
|
|
|
222
231
|
@Override
|
|
223
232
|
public void setCoordinates(MapMarker view, double latitude, double longitude) {
|
|
224
|
-
|
|
233
|
+
view.setCoordinate(new LatLng(latitude, longitude));
|
|
234
|
+
view.setUpdated(true);
|
|
225
235
|
}
|
|
226
236
|
|
|
227
237
|
@Override
|
|
228
238
|
public void showCallout(MapMarker view) {
|
|
229
239
|
((Marker) view.getFeature()).showInfoWindow();
|
|
230
|
-
|
|
240
|
+
view.setUpdated(true);
|
|
231
241
|
}
|
|
232
242
|
|
|
233
243
|
@Override
|
|
234
244
|
public void hideCallout(MapMarker view) {
|
|
235
245
|
((Marker) view.getFeature()).hideInfoWindow();
|
|
246
|
+
view.setUpdated(true);
|
|
236
247
|
}
|
|
237
248
|
|
|
238
249
|
@Override
|
|
@@ -242,7 +253,7 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
242
253
|
|
|
243
254
|
@Override
|
|
244
255
|
public void redraw(MapMarker view) {
|
|
245
|
-
|
|
256
|
+
view.setUpdated(true);
|
|
246
257
|
}
|
|
247
258
|
@Override
|
|
248
259
|
public void addView(MapMarker parent, View child, int index) {
|
|
@@ -252,7 +263,18 @@ public class MarkerManager extends ViewGroupManager<MapMarker> implements RNMaps
|
|
|
252
263
|
parent.setCalloutView((MapCallout) child);
|
|
253
264
|
} else {
|
|
254
265
|
super.addView(parent, child, index);
|
|
266
|
+
if (index == 0) {
|
|
267
|
+
child.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
|
|
268
|
+
@Override
|
|
269
|
+
public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
|
|
270
|
+
int newWidth = right - left;
|
|
271
|
+
int newHeight = bottom - top;
|
|
272
|
+
MapMarker marker = (MapMarker) v.getParent();
|
|
273
|
+
marker.update(newWidth, newHeight);
|
|
274
|
+
}
|
|
275
|
+
});
|
|
276
|
+
}
|
|
255
277
|
parent.update(true);
|
|
256
278
|
}
|
|
257
279
|
}
|
|
258
|
-
}
|
|
280
|
+
}
|
|
@@ -89,6 +89,8 @@ public class MapMarker extends MapFeature {
|
|
|
89
89
|
private float calloutAnchorY;
|
|
90
90
|
private boolean calloutAnchorIsSet;
|
|
91
91
|
|
|
92
|
+
private int updated = 0;
|
|
93
|
+
|
|
92
94
|
private boolean tracksViewChanges = true;
|
|
93
95
|
private boolean tracksViewChangesActive = false;
|
|
94
96
|
|
|
@@ -313,11 +315,15 @@ public class MapMarker extends MapFeature {
|
|
|
313
315
|
}
|
|
314
316
|
|
|
315
317
|
public boolean updateCustomForTracking() {
|
|
316
|
-
if (!tracksViewChangesActive)
|
|
318
|
+
if (!tracksViewChangesActive || updated == 0) {
|
|
319
|
+
tracksViewChangesActive = false;
|
|
317
320
|
return false;
|
|
321
|
+
}
|
|
318
322
|
|
|
319
323
|
updateMarkerIcon();
|
|
320
|
-
|
|
324
|
+
if (updated > 0){
|
|
325
|
+
updated--;
|
|
326
|
+
}
|
|
321
327
|
return true;
|
|
322
328
|
}
|
|
323
329
|
|
|
@@ -455,6 +461,14 @@ public class MapMarker extends MapFeature {
|
|
|
455
461
|
updateTracksViewChanges();
|
|
456
462
|
update(true);
|
|
457
463
|
}
|
|
464
|
+
} else {
|
|
465
|
+
// custom subview
|
|
466
|
+
if (!(getChildAt(0) instanceof MapCallout)) {
|
|
467
|
+
if (updated == 0) {
|
|
468
|
+
updated = 1;
|
|
469
|
+
updateTracksViewChanges();
|
|
470
|
+
}
|
|
471
|
+
}
|
|
458
472
|
}
|
|
459
473
|
}
|
|
460
474
|
|
|
@@ -539,12 +553,15 @@ public class MapMarker extends MapFeature {
|
|
|
539
553
|
} else {
|
|
540
554
|
marker.setInfoWindowAnchor(0.5f, 0);
|
|
541
555
|
}
|
|
556
|
+
updated +=1;
|
|
542
557
|
}
|
|
543
558
|
|
|
544
559
|
public void update(int width, int height) {
|
|
545
560
|
this.width = width;
|
|
546
561
|
this.height = height;
|
|
547
|
-
|
|
562
|
+
updated +=1;
|
|
563
|
+
updateTracksViewChanges();
|
|
564
|
+
clearDrawableCache();
|
|
548
565
|
update(true);
|
|
549
566
|
}
|
|
550
567
|
|
|
@@ -663,6 +680,14 @@ public class MapMarker extends MapFeature {
|
|
|
663
680
|
this.imageLoadedListener = imageLoadedListener;
|
|
664
681
|
}
|
|
665
682
|
|
|
683
|
+
public void setUpdated(boolean updated) {
|
|
684
|
+
if (updated) {
|
|
685
|
+
this.updated += 1;
|
|
686
|
+
} else {
|
|
687
|
+
this.updated = 0;
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
|
|
666
691
|
@FunctionalInterface
|
|
667
692
|
public interface EventCreator<T extends Event> {
|
|
668
693
|
T create(int surfaceId, int viewId, WritableMap payload);
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"author": "Leland Richardson <leland.m.richardson@gmail.com>",
|
|
7
7
|
"homepage": "https://github.com/react-native-maps/react-native-maps#readme",
|
|
8
|
-
"version": "1.23.
|
|
8
|
+
"version": "1.23.11",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"scripts": {
|
|
11
11
|
"lint": "eslint . --max-warnings 0",
|