react-native-maps 2.0.0-beta.1 → 2.0.0-beta.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.
- 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 +9 -83
- 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 +66 -157
- 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} +90 -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 +223 -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 +385 -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 +830 -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 +465 -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 +21 -16
- package/lib/MapView.js +92 -118
- package/lib/MapView.types.d.ts +8 -3
- package/lib/MapViewNativeComponent.d.ts +0 -15
- package/lib/MapViewNativeComponent.js +0 -17
- 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,13 @@ 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
|
-
}
|
|
889
|
-
}
|
|
890
|
-
|
|
891
|
-
public void fitToSuppliedMarkers(ReadableArray markerIDsArray, ReadableMap edgePadding, boolean animated) {
|
|
892
|
-
if (map == null) return;
|
|
893
|
-
|
|
894
|
-
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
895
|
-
|
|
896
|
-
String[] markerIDs = new String[markerIDsArray.size()];
|
|
897
|
-
for (int i = 0; i < markerIDsArray.size(); i++) {
|
|
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
|
-
}
|
|
914
|
-
}
|
|
915
|
-
|
|
916
|
-
if (addedPosition) {
|
|
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
|
-
}
|
|
930
|
-
}
|
|
886
|
+
return CameraUpdateFactory.newCameraPosition(builder.build());
|
|
931
887
|
}
|
|
932
888
|
|
|
933
|
-
int baseLeftMapPadding;
|
|
934
|
-
int baseRightMapPadding;
|
|
935
|
-
int baseTopMapPadding;
|
|
936
|
-
int baseBottomMapPadding;
|
|
889
|
+
public int baseLeftMapPadding;
|
|
890
|
+
public int baseRightMapPadding;
|
|
891
|
+
public int baseTopMapPadding;
|
|
892
|
+
public int baseBottomMapPadding;
|
|
937
893
|
|
|
938
894
|
public void applyBaseMapPadding(int left, int top, int right, int bottom){
|
|
939
895
|
this.map.setPadding(left, top, right, bottom);
|
|
@@ -943,36 +899,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
943
899
|
baseBottomMapPadding = bottom;
|
|
944
900
|
}
|
|
945
901
|
|
|
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) {
|
|
902
|
+
public void appendMapPadding(int iLeft,int iTop, int iRight, int iBottom) {
|
|
976
903
|
int left;
|
|
977
904
|
int top;
|
|
978
905
|
int right;
|
|
@@ -1001,24 +928,6 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
1001
928
|
};
|
|
1002
929
|
}
|
|
1003
930
|
|
|
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
931
|
// InfoWindowAdapter interface
|
|
1023
932
|
|
|
1024
933
|
@Override
|
|
@@ -1364,21 +1273,21 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
1364
1273
|
}
|
|
1365
1274
|
|
|
1366
1275
|
private MapMarker getMarkerMap(Marker marker) {
|
|
1367
|
-
MapMarker
|
|
1276
|
+
MapMarker rnmMarker = markerMap.get(marker);
|
|
1368
1277
|
|
|
1369
|
-
if (
|
|
1370
|
-
return
|
|
1278
|
+
if (rnmMarker != null) {
|
|
1279
|
+
return rnmMarker;
|
|
1371
1280
|
}
|
|
1372
1281
|
|
|
1373
1282
|
for (Map.Entry<Marker, MapMarker> entryMarker : markerMap.entrySet()) {
|
|
1374
1283
|
if (entryMarker.getKey().getPosition().equals(marker.getPosition())
|
|
1375
1284
|
&& entryMarker.getKey().getTitle().equals(marker.getTitle())) {
|
|
1376
|
-
|
|
1285
|
+
rnmMarker = entryMarker.getValue();
|
|
1377
1286
|
break;
|
|
1378
1287
|
}
|
|
1379
1288
|
}
|
|
1380
1289
|
|
|
1381
|
-
return
|
|
1290
|
+
return rnmMarker;
|
|
1382
1291
|
}
|
|
1383
1292
|
|
|
1384
1293
|
@Override
|