react-native-maps 1.7.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 +60 -149
- 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 +9 -8
- package/ios/{AirMaps → Maps}/Callout/SMCalloutView.m +118 -118
- 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} +22 -25
- 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
|
@@ -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;
|
|
@@ -831,8 +867,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
831
867
|
}
|
|
832
868
|
}
|
|
833
869
|
|
|
834
|
-
public
|
|
835
|
-
if (map == null) return;
|
|
870
|
+
public CameraUpdate buildCameraUpdate(ReadableMap camera) {
|
|
836
871
|
CameraPosition.Builder builder = new CameraPosition.Builder(map.getCameraPosition());
|
|
837
872
|
if (camera.hasKey("zoom")) {
|
|
838
873
|
builder.zoom((float)camera.getDouble("zoom"));
|
|
@@ -848,103 +883,26 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
848
883
|
builder.target(new LatLng(center.getDouble("latitude"), center.getDouble("longitude")));
|
|
849
884
|
}
|
|
850
885
|
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
if (duration <= 0) {
|
|
854
|
-
map.moveCamera(update);
|
|
855
|
-
}
|
|
856
|
-
else {
|
|
857
|
-
map.animateCamera(update, duration, null);
|
|
858
|
-
}
|
|
859
|
-
}
|
|
860
|
-
|
|
861
|
-
public void animateToRegion(LatLngBounds bounds, int duration) {
|
|
862
|
-
if (map == null) return;
|
|
863
|
-
if(duration <= 0) {
|
|
864
|
-
map.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 0));
|
|
865
|
-
} else {
|
|
866
|
-
map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 0), duration, null);
|
|
867
|
-
}
|
|
886
|
+
return CameraUpdateFactory.newCameraPosition(builder.build());
|
|
868
887
|
}
|
|
869
888
|
|
|
870
|
-
public void
|
|
871
|
-
if (map == null) return;
|
|
872
|
-
|
|
873
|
-
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
874
|
-
|
|
875
|
-
boolean addedPosition = false;
|
|
876
|
-
|
|
877
|
-
for (MapFeature feature : features) {
|
|
878
|
-
if (feature instanceof MapMarker) {
|
|
879
|
-
Marker marker = (Marker) feature.getFeature();
|
|
880
|
-
builder.include(marker.getPosition());
|
|
881
|
-
addedPosition = true;
|
|
882
|
-
}
|
|
883
|
-
// TODO(lmr): may want to include shapes / etc.
|
|
884
|
-
}
|
|
885
|
-
if (addedPosition) {
|
|
886
|
-
LatLngBounds bounds = builder.build();
|
|
887
|
-
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, baseMapPadding);
|
|
888
|
-
|
|
889
|
-
if (edgePadding != null) {
|
|
890
|
-
map.setPadding(edgePadding.getInt("left"), edgePadding.getInt("top"),
|
|
891
|
-
edgePadding.getInt("right"), edgePadding.getInt("bottom"));
|
|
892
|
-
}
|
|
893
|
-
|
|
894
|
-
if (animated) {
|
|
895
|
-
map.animateCamera(cu);
|
|
896
|
-
} else {
|
|
897
|
-
map.moveCamera(cu);
|
|
898
|
-
}
|
|
899
|
-
}
|
|
900
|
-
}
|
|
901
|
-
|
|
902
|
-
public void fitToSuppliedMarkers(ReadableArray markerIDsArray, ReadableMap edgePadding, boolean animated) {
|
|
889
|
+
public void animateToCamera(ReadableMap camera, int duration) {
|
|
903
890
|
if (map == null) return;
|
|
904
891
|
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
String[] markerIDs = new String[markerIDsArray.size()];
|
|
908
|
-
for (int i = 0; i < markerIDsArray.size(); i++) {
|
|
909
|
-
markerIDs[i] = markerIDsArray.getString(i);
|
|
910
|
-
}
|
|
892
|
+
CameraUpdate update = buildCameraUpdate(camera);
|
|
911
893
|
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
List<String> markerIDList = Arrays.asList(markerIDs);
|
|
915
|
-
|
|
916
|
-
for (MapFeature feature : features) {
|
|
917
|
-
if (feature instanceof MapMarker) {
|
|
918
|
-
String identifier = ((MapMarker) feature).getIdentifier();
|
|
919
|
-
Marker marker = (Marker) feature.getFeature();
|
|
920
|
-
if (markerIDList.contains(identifier)) {
|
|
921
|
-
builder.include(marker.getPosition());
|
|
922
|
-
addedPosition = true;
|
|
923
|
-
}
|
|
924
|
-
}
|
|
894
|
+
if (duration <= 0) {
|
|
895
|
+
map.moveCamera(update);
|
|
925
896
|
}
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
LatLngBounds bounds = builder.build();
|
|
929
|
-
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, baseMapPadding);
|
|
930
|
-
|
|
931
|
-
if (edgePadding != null) {
|
|
932
|
-
map.setPadding(edgePadding.getInt("left"), edgePadding.getInt("top"),
|
|
933
|
-
edgePadding.getInt("right"), edgePadding.getInt("bottom"));
|
|
934
|
-
}
|
|
935
|
-
|
|
936
|
-
if (animated) {
|
|
937
|
-
map.animateCamera(cu);
|
|
938
|
-
} else {
|
|
939
|
-
map.moveCamera(cu);
|
|
940
|
-
}
|
|
897
|
+
else {
|
|
898
|
+
map.animateCamera(update, duration, null);
|
|
941
899
|
}
|
|
942
900
|
}
|
|
943
901
|
|
|
944
|
-
int baseLeftMapPadding;
|
|
945
|
-
int baseRightMapPadding;
|
|
946
|
-
int baseTopMapPadding;
|
|
947
|
-
int baseBottomMapPadding;
|
|
902
|
+
public int baseLeftMapPadding;
|
|
903
|
+
public int baseRightMapPadding;
|
|
904
|
+
public int baseTopMapPadding;
|
|
905
|
+
public int baseBottomMapPadding;
|
|
948
906
|
|
|
949
907
|
public void applyBaseMapPadding(int left, int top, int right, int bottom){
|
|
950
908
|
this.map.setPadding(left, top, right, bottom);
|
|
@@ -954,36 +912,7 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
954
912
|
baseBottomMapPadding = bottom;
|
|
955
913
|
}
|
|
956
914
|
|
|
957
|
-
public void
|
|
958
|
-
boolean animated) {
|
|
959
|
-
if (map == null) return;
|
|
960
|
-
|
|
961
|
-
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
962
|
-
|
|
963
|
-
for (int i = 0; i < coordinatesArray.size(); i++) {
|
|
964
|
-
ReadableMap latLng = coordinatesArray.getMap(i);
|
|
965
|
-
double lat = latLng.getDouble("latitude");
|
|
966
|
-
double lng = latLng.getDouble("longitude");
|
|
967
|
-
builder.include(new LatLng(lat, lng));
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
LatLngBounds bounds = builder.build();
|
|
971
|
-
CameraUpdate cu = CameraUpdateFactory.newLatLngBounds(bounds, baseMapPadding);
|
|
972
|
-
|
|
973
|
-
if (edgePadding != null) {
|
|
974
|
-
appendMapPadding(edgePadding.getInt("left"), edgePadding.getInt("top"), edgePadding.getInt("right"), edgePadding.getInt("bottom"));
|
|
975
|
-
}
|
|
976
|
-
|
|
977
|
-
if (animated) {
|
|
978
|
-
map.animateCamera(cu);
|
|
979
|
-
} else {
|
|
980
|
-
map.moveCamera(cu);
|
|
981
|
-
}
|
|
982
|
-
// Move the google logo to the default base padding value.
|
|
983
|
-
map.setPadding(baseLeftMapPadding, baseTopMapPadding, baseRightMapPadding, baseBottomMapPadding);
|
|
984
|
-
}
|
|
985
|
-
|
|
986
|
-
private void appendMapPadding(int iLeft,int iTop, int iRight, int iBottom) {
|
|
915
|
+
public void appendMapPadding(int iLeft,int iTop, int iRight, int iBottom) {
|
|
987
916
|
int left;
|
|
988
917
|
int top;
|
|
989
918
|
int right;
|
|
@@ -1012,24 +941,6 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
1012
941
|
};
|
|
1013
942
|
}
|
|
1014
943
|
|
|
1015
|
-
public void setMapBoundaries(ReadableMap northEast, ReadableMap southWest) {
|
|
1016
|
-
if (map == null) return;
|
|
1017
|
-
|
|
1018
|
-
LatLngBounds.Builder builder = new LatLngBounds.Builder();
|
|
1019
|
-
|
|
1020
|
-
double latNE = northEast.getDouble("latitude");
|
|
1021
|
-
double lngNE = northEast.getDouble("longitude");
|
|
1022
|
-
builder.include(new LatLng(latNE, lngNE));
|
|
1023
|
-
|
|
1024
|
-
double latSW = southWest.getDouble("latitude");
|
|
1025
|
-
double lngSW = southWest.getDouble("longitude");
|
|
1026
|
-
builder.include(new LatLng(latSW, lngSW));
|
|
1027
|
-
|
|
1028
|
-
LatLngBounds bounds = builder.build();
|
|
1029
|
-
|
|
1030
|
-
map.setLatLngBoundsForCameraTarget(bounds);
|
|
1031
|
-
}
|
|
1032
|
-
|
|
1033
944
|
// InfoWindowAdapter interface
|
|
1034
945
|
|
|
1035
946
|
@Override
|
|
@@ -1375,21 +1286,21 @@ public class MapView extends com.google.android.gms.maps.MapView implements Goog
|
|
|
1375
1286
|
}
|
|
1376
1287
|
|
|
1377
1288
|
private MapMarker getMarkerMap(Marker marker) {
|
|
1378
|
-
MapMarker
|
|
1289
|
+
MapMarker rnmMarker = markerMap.get(marker);
|
|
1379
1290
|
|
|
1380
|
-
if (
|
|
1381
|
-
return
|
|
1291
|
+
if (rnmMarker != null) {
|
|
1292
|
+
return rnmMarker;
|
|
1382
1293
|
}
|
|
1383
1294
|
|
|
1384
1295
|
for (Map.Entry<Marker, MapMarker> entryMarker : markerMap.entrySet()) {
|
|
1385
1296
|
if (entryMarker.getKey().getPosition().equals(marker.getPosition())
|
|
1386
1297
|
&& entryMarker.getKey().getTitle().equals(marker.getTitle())) {
|
|
1387
|
-
|
|
1298
|
+
rnmMarker = entryMarker.getValue();
|
|
1388
1299
|
break;
|
|
1389
1300
|
}
|
|
1390
1301
|
}
|
|
1391
1302
|
|
|
1392
|
-
return
|
|
1303
|
+
return rnmMarker;
|
|
1393
1304
|
}
|
|
1394
1305
|
|
|
1395
1306
|
@Override
|