react-native-maps 2.0.0-beta.1 → 2.0.0-beta.10
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.
- package/README.md +34 -11
- package/android/build.gradle +41 -10
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapCalloutManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapCircleManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapGradientPolyline.java +4 -4
- package/android/src/main/java/com/rnmaps/maps/MapGradientPolylineManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapHeatmapManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapLiteManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapLocalTile.java +4 -4
- package/android/src/main/java/com/rnmaps/maps/MapLocalTileManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapManager.java +6 -63
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +2 -2
- package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +10 -27
- package/android/src/main/java/com/rnmaps/maps/MapOverlayManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapPolygonManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapTileProvider.java +7 -5
- package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapView.java +72 -150
- package/android/src/main/java/com/rnmaps/maps/MapViewModule.java +598 -0
- package/android/src/main/java/com/rnmaps/maps/MapWMSTile.java +6 -6
- package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +1 -1
- package/android/src/main/java/com/rnmaps/maps/SizeReportingShadowNode.java +1 -1
- package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.m +8 -0
- package/ios/{AirGoogleMaps/AIRDummyView.h → GoogleMaps/RNMDummyView.h} +3 -3
- package/ios/{AirGoogleMaps/AIRDummyView.m → GoogleMaps/RNMDummyView.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSMarker.h → GoogleMaps/RNMGMSMarker.h} +6 -6
- package/ios/{AirGoogleMaps/AIRGMSMarker.m → GoogleMaps/RNMGMSMarker.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolygon.h → GoogleMaps/RNMGMSPolygon.h} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolygon.m → GoogleMaps/RNMGMSPolygon.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolyline.h → GoogleMaps/RNMGMSPolyline.h} +4 -4
- package/ios/{AirGoogleMaps/AIRGMSPolyline.m → GoogleMaps/RNMGMSPolyline.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMap.h → GoogleMaps/RNMGoogleMap.h} +5 -5
- package/ios/{AirGoogleMaps/AIRGoogleMap.m → GoogleMaps/RNMGoogleMap.m} +81 -77
- package/ios/{AirGoogleMaps/AIRGoogleMapCallout.h → GoogleMaps/RNMGoogleMapCallout.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCallout.m → GoogleMaps/RNMGoogleMapCallout.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.h → GoogleMaps/RNMGoogleMapCalloutManager.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutManager.m → GoogleMaps/RNMGoogleMapCalloutManager.m} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.h → GoogleMaps/RNMGoogleMapCalloutSubview.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubview.m → GoogleMaps/RNMGoogleMapCalloutSubview.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.h → GoogleMaps/RNMGoogleMapCalloutSubviewManager.h} +3 -3
- package/ios/GoogleMaps/RNMGoogleMapCalloutSubviewManager.m +28 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapCircle.h → GoogleMaps/RNMGoogleMapCircle.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCircle.m → GoogleMaps/RNMGoogleMapCircle.m} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.h → GoogleMaps/RNMGoogleMapCircleManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapCircleManager.m → GoogleMaps/RNMGoogleMapCircleManager.m} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.h → GoogleMaps/RNMGoogleMapHeatmap.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapHeatmap.m → GoogleMaps/RNMGoogleMapHeatmap.m} +4 -4
- package/ios/GoogleMaps/RNMGoogleMapHeatmapManager.h +11 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapHeatmapManager.m → GoogleMaps/RNMGoogleMapHeatmapManager.m} +9 -9
- package/ios/{AirGoogleMaps/AIRGoogleMapManager.h → GoogleMaps/RNMGoogleMapManager.h} +3 -3
- package/ios/GoogleMaps/RNMGoogleMapManager.m +256 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapMarker.h → GoogleMaps/RNMGoogleMapMarker.h} +15 -15
- package/ios/{AirGoogleMaps/AIRGoogleMapMarker.m → GoogleMaps/RNMGoogleMapMarker.m} +23 -23
- package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.h → GoogleMaps/RNMGoogleMapMarkerManager.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapMarkerManager.m → GoogleMaps/RNMGoogleMapMarkerManager.m} +20 -20
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.h → GoogleMaps/RNMGoogleMapOverlay.h} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlay.m → GoogleMaps/RNMGoogleMapOverlay.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.h → GoogleMaps/RNMGoogleMapOverlayManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapOverlayManager.m → GoogleMaps/RNMGoogleMapOverlayManager.m} +6 -6
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.h → GoogleMaps/RNMGoogleMapPolygon.h} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygon.m → GoogleMaps/RNMGoogleMapPolygon.m} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.h → GoogleMaps/RNMGoogleMapPolygonManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.m → GoogleMaps/RNMGoogleMapPolygonManager.m} +10 -10
- package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.h → GoogleMaps/RNMGoogleMapPolyline.h} +7 -7
- package/ios/{AirGoogleMaps/AIRGoogleMapPolyline.m → GoogleMaps/RNMGoogleMapPolyline.m} +9 -9
- package/ios/{AirGoogleMaps/AIRGoogleMapPolygonManager.h → GoogleMaps/RNMGoogleMapPolylineManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapPolylineManager.m → GoogleMaps/RNMGoogleMapPolylineManager.m} +9 -9
- package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.h → GoogleMaps/RNMGoogleMapUrlTile.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapUrlTile.m → GoogleMaps/RNMGoogleMapUrlTile.m} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapUrlTileManager.h → GoogleMaps/RNMGoogleMapUrlTileManager.h} +2 -2
- package/ios/{AirGoogleMaps/AIRGoogleMapURLTileManager.m → GoogleMaps/RNMGoogleMapUrlTileManager.m} +7 -7
- package/ios/GoogleMaps/RNMGoogleMapViewModule.h +5 -0
- package/ios/GoogleMaps/RNMGoogleMapViewModule.m +380 -0
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.h → GoogleMaps/RNMGoogleMapWMSTile.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTile.m → GoogleMaps/RNMGoogleMapWMSTile.m} +4 -4
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.h → GoogleMaps/RNMGoogleMapWMSTileManager.h} +3 -3
- package/ios/{AirGoogleMaps/AIRGoogleMapWMSTileManager.m → GoogleMaps/RNMGoogleMapWMSTileManager.m} +8 -8
- package/ios/{AirMaps → Maps}/Callout/SMCalloutView.h +4 -4
- package/ios/{AirMaps/RCTConvert+AirMap.h → Maps/RCTConvert+RNMMap.h} +1 -1
- package/ios/{AirMaps/RCTConvert+AirMap.m → Maps/RCTConvert+RNMMap.m} +25 -8
- package/ios/{AirMaps/AIRMap.h → Maps/RNMMap.h} +8 -8
- package/ios/{AirMaps/AIRMap.m → Maps/RNMMap.m} +60 -56
- package/ios/{AirMaps/AIRMapCallout.h → Maps/RNMMapCallout.h} +1 -1
- package/ios/{AirMaps/AIRMapCallout.m → Maps/RNMMapCallout.m} +2 -2
- package/ios/{AirMaps/AIRMapCircleManager.h → Maps/RNMMapCalloutManager.h} +2 -2
- package/ios/{AirMaps/AIRMapCalloutManager.m → Maps/RNMMapCalloutManager.m} +7 -7
- package/ios/{AirMaps/AIRMapCalloutSubview.h → Maps/RNMMapCalloutSubview.h} +3 -3
- package/ios/{AirMaps/AIRMapCalloutSubview.m → Maps/RNMMapCalloutSubview.m} +4 -4
- package/ios/Maps/RNMMapCalloutSubviewManager.h +14 -0
- package/ios/Maps/RNMMapCalloutSubviewManager.m +24 -0
- package/ios/{AirMaps/AIRMapCircle.h → Maps/RNMMapCircle.h} +5 -5
- package/ios/{AirMaps/AIRMapCircle.m → Maps/RNMMapCircle.m} +3 -3
- package/ios/{AirMaps/AIRMapCalloutManager.h → Maps/RNMMapCircleManager.h} +2 -2
- package/ios/{AirMaps/AIRMapCircleManager.m → Maps/RNMMapCircleManager.m} +7 -7
- package/ios/{AirMaps/AIRMapCoordinate.h → Maps/RNMMapCoordinate.h} +2 -2
- package/ios/{AirMaps/AIRMapCoordinate.m → Maps/RNMMapCoordinate.m} +3 -3
- package/ios/{AirMaps/AIRMapLocalTile.h → Maps/RNMMapLocalTile.h} +7 -7
- package/ios/{AirMaps/AIRMapLocalTile.m → Maps/RNMMapLocalTile.m} +6 -6
- package/ios/{AirMaps/AIRMapLocalTileManager.h → Maps/RNMMapLocalTileManager.h} +3 -3
- package/ios/{AirMaps/AIRMapLocalTileManager.m → Maps/RNMMapLocalTileManager.m} +9 -9
- package/ios/{AirMaps/AIRMapLocalTileOverlay.h → Maps/RNMMapLocalTileOverlay.h} +2 -2
- package/ios/{AirMaps/AIRMapLocalTileOverlay.m → Maps/RNMMapLocalTileOverlay.m} +5 -5
- package/ios/{AirMaps/AIRMapManager.h → Maps/RNMMapManager.h} +6 -6
- package/ios/Maps/RNMMapManager.m +854 -0
- package/ios/{AirMaps/AIRMapMarker.h → Maps/RNMMapMarker.h} +8 -8
- package/ios/{AirMaps/AIRMapMarker.m → Maps/RNMMapMarker.m} +13 -13
- package/ios/{AirMaps/AIRMapMarkerManager.h → Maps/RNMMapMarkerManager.h} +1 -1
- package/ios/{AirMaps/AIRMapMarkerManager.m → Maps/RNMMapMarkerManager.m} +14 -14
- package/ios/{AirMaps/AIRMapOverlay.h → Maps/RNMMapOverlay.h} +7 -7
- package/ios/{AirMaps/AIRMapOverlay.m → Maps/RNMMapOverlay.m} +4 -4
- package/ios/Maps/RNMMapOverlayManager.h +5 -0
- package/ios/{AirMaps/AIRMapOverlayManager.m → Maps/RNMMapOverlayManager.m} +6 -6
- package/ios/{AirMaps/AIRMapOverlayRenderer.h → Maps/RNMMapOverlayRenderer.h} +1 -1
- package/ios/{AirMaps/AIRMapOverlayRenderer.m → Maps/RNMMapOverlayRenderer.m} +5 -5
- package/ios/{AirMaps/AIRMapPolygon.h → Maps/RNMMapPolygon.h} +7 -7
- package/ios/{AirMaps/AIRMapPolygon.m → Maps/RNMMapPolygon.m} +4 -4
- package/ios/{AirMaps/AIRMapPolygonManager.h → Maps/RNMMapPolygonManager.h} +2 -2
- package/ios/{AirMaps/AIRMapPolygonManager.m → Maps/RNMMapPolygonManager.m} +10 -10
- package/ios/{AirMaps/AIRMapPolyline.h → Maps/RNMMapPolyline.h} +6 -6
- package/ios/{AirMaps/AIRMapPolyline.m → Maps/RNMMapPolyline.m} +11 -11
- package/ios/{AirMaps/AIRMapPolylineManager.h → Maps/RNMMapPolylineManager.h} +2 -2
- package/ios/{AirMaps/AIRMapPolylineManager.m → Maps/RNMMapPolylineManager.m} +9 -9
- package/ios/{AirMaps/AIRMapPolylineRenderer.h → Maps/RNMMapPolylineRenderer.h} +2 -2
- package/ios/{AirMaps/AIRMapPolylineRenderer.m → Maps/RNMMapPolylineRenderer.m} +10 -10
- package/ios/{AirMaps/AIRMapSnapshot.h → Maps/RNMMapSnapshot.h} +6 -6
- package/ios/{AirMaps/AIRMapUrlTile.h → Maps/RNMMapUrlTile.h} +18 -18
- package/ios/{AirMaps/AIRMapUrlTile.m → Maps/RNMMapUrlTile.m} +7 -7
- package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.h → Maps/RNMMapUrlTileCachedOverlay.h} +3 -3
- package/ios/{AirMaps/AIRMapUrlTileCachedOverlay.m → Maps/RNMMapUrlTileCachedOverlay.m} +10 -10
- package/ios/{AirMaps/AIRMapUrlTileManager.h → Maps/RNMMapUrlTileManager.h} +3 -3
- package/ios/{AirMaps/AIRMapUrlTileManager.m → Maps/RNMMapUrlTileManager.m} +9 -9
- package/ios/Maps/RNMMapViewModule.h +5 -0
- package/ios/Maps/RNMMapViewModule.m +459 -0
- package/ios/{AirMaps/AIRMapWMSTile.h → Maps/RNMMapWMSTile.h} +11 -11
- package/ios/{AirMaps/AIRMapWMSTile.m → Maps/RNMMapWMSTile.m} +15 -15
- package/ios/{AirMaps/AIRMapWMSTileManager.h → Maps/RNMMapWMSTileManager.h} +3 -3
- package/ios/{AirMaps/AIRMapWMSTileManager.m → Maps/RNMMapWMSTileManager.m} +9 -9
- package/ios/RNMaps.xcodeproj/project.pbxproj +647 -0
- package/lib/Geojson.d.ts +1 -1
- package/lib/MapCallout.js +2 -2
- package/lib/MapCalloutSubview.js +2 -2
- package/lib/MapCircle.js +2 -2
- package/lib/MapHeatmap.js +2 -2
- package/lib/MapLocalTile.js +2 -2
- package/lib/MapMarker.d.ts +2 -3
- package/lib/MapMarker.js +2 -4
- package/lib/MapOverlay.d.ts +1 -2
- package/lib/MapOverlay.js +2 -4
- package/lib/MapPolygon.js +2 -2
- package/lib/MapPolyline.js +2 -2
- package/lib/MapUrlTile.js +2 -2
- package/lib/MapView.d.ts +14 -14
- package/lib/MapView.js +92 -107
- package/lib/MapView.types.d.ts +8 -3
- package/lib/MapViewNativeComponent.d.ts +1 -8
- package/lib/MapViewNativeComponent.js +1 -10
- package/lib/MapWMSTile.js +2 -2
- package/lib/NativeGoogleMapViewModule.d.ts +25 -0
- package/lib/NativeGoogleMapViewModule.js +4 -0
- package/lib/NativeMapViewModule.d.ts +29 -0
- package/lib/NativeMapViewModule.js +4 -0
- package/lib/decorateMapComponent.d.ts +1 -1
- package/lib/decorateMapComponent.js +3 -3
- package/lib/index.d.ts +14 -21
- package/lib/index.js +10 -38
- package/package.json +6 -6
- package/react-native-google-maps.podspec +1 -1
- package/react-native-maps.podspec +2 -2
- package/android/src/main/java/com/rnmaps/maps/MapModule.java +0 -380
- package/ios/AirGoogleMaps/AIRGoogleMapCalloutSubviewManager.m +0 -28
- package/ios/AirGoogleMaps/AIRGoogleMapHeatmapManager.h +0 -11
- package/ios/AirGoogleMaps/AIRGoogleMapManager.m +0 -597
- package/ios/AirMaps/AIRMapCalloutSubviewManager.h +0 -14
- package/ios/AirMaps/AIRMapCalloutSubviewManager.m +0 -24
- package/ios/AirMaps/AIRMapManager.m +0 -1253
- package/ios/AirMaps/AIRMapOverlayManager.h +0 -5
- package/ios/AirMaps/AIRWeakMapReference.h +0 -24
- package/ios/AirMaps/AIRWeakMapReference.m +0 -23
- package/ios/AirMaps/AIRWeakTimerReference.h +0 -21
- package/ios/AirMaps/AIRWeakTimerReference.m +0 -42
- package/ios/AirMaps.xcodeproj/project.pbxproj +0 -587
- /package/ios/{AirGoogleMaps → GoogleMaps}/RCTConvert+GMSMapViewType.h +0 -0
- /package/ios/{AirMaps → Maps}/Callout/SMCalloutView.m +0 -0
|
@@ -93,7 +93,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
93
93
|
private Boolean isMapLoaded = false;
|
|
94
94
|
private Integer loadingBackgroundColor = null;
|
|
95
95
|
private Integer loadingIndicatorColor = null;
|
|
96
|
-
|
|
96
|
+
public final int baseMapPadding = 50;
|
|
97
97
|
|
|
98
98
|
private LatLngBounds boundsToMove;
|
|
99
99
|
private CameraUpdate cameraToSet;
|
|
@@ -110,11 +110,12 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
110
110
|
private boolean initialCameraSet = false;
|
|
111
111
|
private LatLngBounds cameraLastIdleBounds;
|
|
112
112
|
private int cameraMoveReason = 0;
|
|
113
|
+
private LatLngBounds boundary;
|
|
113
114
|
|
|
114
115
|
private static final String[] PERMISSIONS = new String[]{
|
|
115
116
|
"android.permission.ACCESS_FINE_LOCATION", "android.permission.ACCESS_COARSE_LOCATION"};
|
|
116
117
|
|
|
117
|
-
|
|
118
|
+
public final List<MapFeature> features = new ArrayList<>();
|
|
118
119
|
private final Map<Marker, MapMarker> markerMap = new HashMap<>();
|
|
119
120
|
private final Map<Polyline, MapPolyline> polylineMap = new HashMap<>();
|
|
120
121
|
private final Map<Polygon, MapPolygon> polygonMap = new HashMap<>();
|
|
@@ -275,17 +276,17 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
275
276
|
markerCollection.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
|
|
276
277
|
@Override
|
|
277
278
|
public boolean onMarkerClick(@NonNull Marker marker) {
|
|
278
|
-
MapMarker
|
|
279
|
+
MapMarker rnmMapMarker = getMarkerMap(marker);
|
|
279
280
|
|
|
280
281
|
WritableMap event = makeClickEventData(marker.getPosition());
|
|
281
282
|
event.putString("action", "marker-press");
|
|
282
|
-
event.putString("id",
|
|
283
|
+
event.putString("id", rnmMapMarker.getIdentifier());
|
|
283
284
|
manager.pushEvent(context, view, "onMarkerPress", event);
|
|
284
285
|
|
|
285
286
|
event = makeClickEventData(marker.getPosition());
|
|
286
287
|
event.putString("action", "marker-press");
|
|
287
|
-
event.putString("id",
|
|
288
|
-
manager.pushEvent(context,
|
|
288
|
+
event.putString("id", rnmMapMarker.getIdentifier());
|
|
289
|
+
manager.pushEvent(context, rnmMapMarker, "onPress", event);
|
|
289
290
|
|
|
290
291
|
// Return false to open the callout info window and center on the marker
|
|
291
292
|
// https://developers.google.com/android/reference/com/google/android/gms/maps/GoogleMap
|
|
@@ -500,7 +501,42 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
500
501
|
}
|
|
501
502
|
}
|
|
502
503
|
|
|
504
|
+
public void setBoundary(ReadableMap boundary) {
|
|
505
|
+
if(boundary == null) {
|
|
506
|
+
this.boundary = null;
|
|
507
|
+
if(map != null) {
|
|
508
|
+
// consumers can pass null to clear boundary
|
|
509
|
+
map.setLatLngBoundsForCameraTarget(null);
|
|
510
|
+
}
|
|
511
|
+
} else {
|
|
512
|
+
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
513
|
+
|
|
514
|
+
ReadableMap northEast = boundary.getMap("northEast");
|
|
515
|
+
ReadableMap southWest = boundary.getMap("southWest");
|
|
516
|
+
|
|
517
|
+
double neLat = northEast.getDouble("latitude");
|
|
518
|
+
double neLng = northEast.getDouble("longitude");
|
|
519
|
+
builder.include(new LatLng(neLat, neLng));
|
|
520
|
+
|
|
521
|
+
double swLat = southWest.getDouble("latitude");
|
|
522
|
+
double swLng = southWest.getDouble("longitude");
|
|
523
|
+
builder.include(new LatLng(swLat, swLng));
|
|
524
|
+
|
|
525
|
+
LatLngBounds bounds = builder.build();
|
|
526
|
+
|
|
527
|
+
this.boundary = bounds;
|
|
528
|
+
|
|
529
|
+
if(map != null) {
|
|
530
|
+
map.setLatLngBoundsForCameraTarget(bounds);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
// called as soon as the map is ready. Assuming nothing was set on the map at this point.
|
|
503
536
|
private void applyBridgedProps() {
|
|
537
|
+
if(boundary != null) {
|
|
538
|
+
map.setLatLngBoundsForCameraTarget(boundary);
|
|
539
|
+
}
|
|
504
540
|
if(initialRegion != null) {
|
|
505
541
|
moveToRegion(initialRegion);
|
|
506
542
|
initialRegionSet = true;
|
|
@@ -770,10 +806,21 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
770
806
|
MapFeature feature = features.remove(index);
|
|
771
807
|
if (feature instanceof MapMarker) {
|
|
772
808
|
markerMap.remove(feature.getFeature());
|
|
809
|
+
feature.removeFromMap(markerCollection);
|
|
773
810
|
} else if (feature instanceof MapHeatmap) {
|
|
774
811
|
heatmapMap.remove(feature.getFeature());
|
|
812
|
+
feature.removeFromMap(map);
|
|
813
|
+
} else if(feature instanceof MapCircle) {
|
|
814
|
+
feature.removeFromMap(circleCollection);
|
|
815
|
+
} else if(feature instanceof MapOverlay) {
|
|
816
|
+
feature.removeFromMap(groundOverlayCollection);
|
|
817
|
+
} else if(feature instanceof MapPolygon) {
|
|
818
|
+
feature.removeFromMap(polygonCollection);
|
|
819
|
+
} else if(feature instanceof MapPolyline) {
|
|
820
|
+
feature.removeFromMap(polylineCollection);
|
|
821
|
+
} else {
|
|
822
|
+
feature.removeFromMap(map);
|
|
775
823
|
}
|
|
776
|
-
feature.removeFromMap(map);
|
|
777
824
|
}
|
|
778
825
|
|
|
779
826
|
public WritableMap makeClickEventData(LatLng point) {
|
|
@@ -820,8 +867,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
820
867
|
}
|
|
821
868
|
}
|
|
822
869
|
|
|
823
|
-
public
|
|
824
|
-
if (map == null) return;
|
|
870
|
+
public CameraUpdate buildCameraUpdate(ReadableMap camera) {
|
|
825
871
|
CameraPosition.Builder builder = new CameraPosition.Builder(map.getCameraPosition());
|
|
826
872
|
if (camera.hasKey("zoom")) {
|
|
827
873
|
builder.zoom((float)camera.getDouble("zoom"));
|
|
@@ -837,103 +883,26 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
837
883
|
builder.target(new LatLng(center.getDouble("latitude"), center.getDouble("longitude")));
|
|
838
884
|
}
|
|
839
885
|
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
if (duration <= 0) {
|
|
843
|
-
map.moveCamera(update);
|
|
844
|
-
}
|
|
845
|
-
else {
|
|
846
|
-
map.animateCamera(update, duration, null);
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
public void animateToRegion(LatLngBounds bounds, int duration) {
|
|
851
|
-
if (map == null) return;
|
|
852
|
-
if(duration <= 0) {
|
|
853
|
-
map.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 0));
|
|
854
|
-
} else {
|
|
855
|
-
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 0), duration, null);
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
|
|
859
|
-
public void fitToElements(ReadableMap edgePadding, boolean animated) {
|
|
860
|
-
if (map == null) return;
|
|
861
|
-
|
|
862
|
-
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
863
|
-
|
|
864
|
-
boolean addedPosition = false;
|
|
865
|
-
|
|
866
|
-
for (MapFeature feature : features) {
|
|
867
|
-
if (feature instanceof MapMarker) {
|
|
868
|
-
Marker marker = (Marker) feature.getFeature();
|
|
869
|
-
builder.include(marker.getPosition());
|
|
870
|
-
addedPosition = true;
|
|
871
|
-
}
|
|
872
|
-
// TODO(lmr): may want to include shapes / etc.
|
|
873
|
-
}
|
|
874
|
-
if (addedPosition) {
|
|
875
|
-
LatLngBounds bounds = builder.build();
|
|
876
|
-
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, baseMapPadding);
|
|
877
|
-
|
|
878
|
-
if (edgePadding != null) {
|
|
879
|
-
map.setPadding(edgePadding.getInt("left"), edgePadding.getInt("top"),
|
|
880
|
-
edgePadding.getInt("right"), edgePadding.getInt("bottom"));
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
if (animated) {
|
|
884
|
-
map.animateCamera(cu);
|
|
885
|
-
} else {
|
|
886
|
-
map.moveCamera(cu);
|
|
887
|
-
}
|
|
888
|
-
}
|
|
886
|
+
return CameraUpdateFactory.newCameraPosition(builder.build());
|
|
889
887
|
}
|
|
890
888
|
|
|
891
|
-
public void
|
|
889
|
+
public void animateToCamera(ReadableMap camera, int duration) {
|
|
892
890
|
if (map == null) return;
|
|
893
891
|
|
|
894
|
-
|
|
892
|
+
CameraUpdate update = buildCameraUpdate(camera);
|
|
895
893
|
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
markerIDs[i] = markerIDsArray.getString(i);
|
|
899
|
-
}
|
|
900
|
-
|
|
901
|
-
boolean addedPosition = false;
|
|
902
|
-
|
|
903
|
-
List<String> markerIDList = Arrays.asList(markerIDs);
|
|
904
|
-
|
|
905
|
-
for (MapFeature feature : features) {
|
|
906
|
-
if (feature instanceof MapMarker) {
|
|
907
|
-
String identifier = ((MapMarker) feature).getIdentifier();
|
|
908
|
-
Marker marker = (Marker) feature.getFeature();
|
|
909
|
-
if (markerIDList.contains(identifier)) {
|
|
910
|
-
builder.include(marker.getPosition());
|
|
911
|
-
addedPosition = true;
|
|
912
|
-
}
|
|
913
|
-
}
|
|
894
|
+
if (duration <= 0) {
|
|
895
|
+
map.moveCamera(update);
|
|
914
896
|
}
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
LatLngBounds bounds = builder.build();
|
|
918
|
-
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, baseMapPadding);
|
|
919
|
-
|
|
920
|
-
if (edgePadding != null) {
|
|
921
|
-
map.setPadding(edgePadding.getInt("left"), edgePadding.getInt("top"),
|
|
922
|
-
edgePadding.getInt("right"), edgePadding.getInt("bottom"));
|
|
923
|
-
}
|
|
924
|
-
|
|
925
|
-
if (animated) {
|
|
926
|
-
map.animateCamera(cu);
|
|
927
|
-
} else {
|
|
928
|
-
map.moveCamera(cu);
|
|
929
|
-
}
|
|
897
|
+
else {
|
|
898
|
+
map.animateCamera(update, duration, null);
|
|
930
899
|
}
|
|
931
900
|
}
|
|
932
901
|
|
|
933
|
-
int baseLeftMapPadding;
|
|
934
|
-
int baseRightMapPadding;
|
|
935
|
-
int baseTopMapPadding;
|
|
936
|
-
int baseBottomMapPadding;
|
|
902
|
+
public int baseLeftMapPadding;
|
|
903
|
+
public int baseRightMapPadding;
|
|
904
|
+
public int baseTopMapPadding;
|
|
905
|
+
public int baseBottomMapPadding;
|
|
937
906
|
|
|
938
907
|
public void applyBaseMapPadding(int left, int top, int right, int bottom){
|
|
939
908
|
this.map.setPadding(left, top, right, bottom);
|
|
@@ -943,36 +912,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
943
912
|
baseBottomMapPadding = bottom;
|
|
944
913
|
}
|
|
945
914
|
|
|
946
|
-
public void
|
|
947
|
-
boolean animated) {
|
|
948
|
-
if (map == null) return;
|
|
949
|
-
|
|
950
|
-
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
951
|
-
|
|
952
|
-
for (int i = 0; i < coordinatesArray.size(); i++) {
|
|
953
|
-
ReadableMap latLng = coordinatesArray.getMap(i);
|
|
954
|
-
double lat = latLng.getDouble("latitude");
|
|
955
|
-
double lng = latLng.getDouble("longitude");
|
|
956
|
-
builder.include(new LatLng(lat, lng));
|
|
957
|
-
}
|
|
958
|
-
|
|
959
|
-
LatLngBounds bounds = builder.build();
|
|
960
|
-
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, baseMapPadding);
|
|
961
|
-
|
|
962
|
-
if (edgePadding != null) {
|
|
963
|
-
appendMapPadding(edgePadding.getInt("left"), edgePadding.getInt("top"), edgePadding.getInt("right"), edgePadding.getInt("bottom"));
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
if (animated) {
|
|
967
|
-
map.animateCamera(cu);
|
|
968
|
-
} else {
|
|
969
|
-
map.moveCamera(cu);
|
|
970
|
-
}
|
|
971
|
-
// Move the google logo to the default base padding value.
|
|
972
|
-
map.setPadding(baseLeftMapPadding, baseTopMapPadding, baseRightMapPadding, baseBottomMapPadding);
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
private void appendMapPadding(int iLeft,int iTop, int iRight, int iBottom) {
|
|
915
|
+
public void appendMapPadding(int iLeft,int iTop, int iRight, int iBottom) {
|
|
976
916
|
int left;
|
|
977
917
|
int top;
|
|
978
918
|
int right;
|
|
@@ -1001,24 +941,6 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
1001
941
|
};
|
|
1002
942
|
}
|
|
1003
943
|
|
|
1004
|
-
public void setMapBoundaries(ReadableMap northEast, ReadableMap southWest) {
|
|
1005
|
-
if (map == null) return;
|
|
1006
|
-
|
|
1007
|
-
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
1008
|
-
|
|
1009
|
-
double latNE = northEast.getDouble("latitude");
|
|
1010
|
-
double lngNE = northEast.getDouble("longitude");
|
|
1011
|
-
builder.include(new LatLng(latNE, lngNE));
|
|
1012
|
-
|
|
1013
|
-
double latSW = southWest.getDouble("latitude");
|
|
1014
|
-
double lngSW = southWest.getDouble("longitude");
|
|
1015
|
-
builder.include(new LatLng(latSW, lngSW));
|
|
1016
|
-
|
|
1017
|
-
LatLngBounds bounds = builder.build();
|
|
1018
|
-
|
|
1019
|
-
map.setLatLngBoundsForCameraTarget(bounds);
|
|
1020
|
-
}
|
|
1021
|
-
|
|
1022
944
|
// InfoWindowAdapter interface
|
|
1023
945
|
|
|
1024
946
|
@Override
|
|
@@ -1364,21 +1286,21 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
1364
1286
|
}
|
|
1365
1287
|
|
|
1366
1288
|
private MapMarker getMarkerMap(Marker marker) {
|
|
1367
|
-
MapMarker
|
|
1289
|
+
MapMarker rnmMarker = markerMap.get(marker);
|
|
1368
1290
|
|
|
1369
|
-
if (
|
|
1370
|
-
return
|
|
1291
|
+
if (rnmMarker != null) {
|
|
1292
|
+
return rnmMarker;
|
|
1371
1293
|
}
|
|
1372
1294
|
|
|
1373
1295
|
for (Map.Entry<Marker, MapMarker> entryMarker : markerMap.entrySet()) {
|
|
1374
1296
|
if (entryMarker.getKey().getPosition().equals(marker.getPosition())
|
|
1375
1297
|
&& entryMarker.getKey().getTitle().equals(marker.getTitle())) {
|
|
1376
|
-
|
|
1298
|
+
rnmMarker = entryMarker.getValue();
|
|
1377
1299
|
break;
|
|
1378
1300
|
}
|
|
1379
1301
|
}
|
|
1380
1302
|
|
|
1381
|
-
return
|
|
1303
|
+
return rnmMarker;
|
|
1382
1304
|
}
|
|
1383
1305
|
|
|
1384
1306
|
@Override
|