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
|
@@ -1,380 +0,0 @@
|
|
|
1
|
-
package com.rnmaps.maps;
|
|
2
|
-
|
|
3
|
-
import android.app.Activity;
|
|
4
|
-
import android.graphics.Bitmap;
|
|
5
|
-
import android.graphics.Point;
|
|
6
|
-
import android.location.Address;
|
|
7
|
-
import android.location.Geocoder;
|
|
8
|
-
import android.net.Uri;
|
|
9
|
-
import android.util.Base64;
|
|
10
|
-
import android.util.DisplayMetrics;
|
|
11
|
-
import android.util.Log;
|
|
12
|
-
|
|
13
|
-
import androidx.annotation.Nullable;
|
|
14
|
-
import androidx.annotation.NonNull;
|
|
15
|
-
|
|
16
|
-
import com.facebook.react.bridge.Promise;
|
|
17
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
18
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
19
|
-
import com.facebook.react.bridge.ReactMethod;
|
|
20
|
-
import com.facebook.react.bridge.ReadableMap;
|
|
21
|
-
import com.facebook.react.bridge.WritableMap;
|
|
22
|
-
import com.facebook.react.bridge.WritableNativeMap;
|
|
23
|
-
import com.facebook.react.module.annotations.ReactModule;
|
|
24
|
-
import com.facebook.react.uimanager.NativeViewHierarchyManager;
|
|
25
|
-
import com.facebook.react.uimanager.UIBlock;
|
|
26
|
-
import com.facebook.react.uimanager.UIManagerModule;
|
|
27
|
-
import com.google.android.gms.maps.GoogleMap;
|
|
28
|
-
import com.google.android.gms.maps.MapsInitializer;
|
|
29
|
-
import com.google.android.gms.maps.OnMapsSdkInitializedCallback;
|
|
30
|
-
import com.google.android.gms.maps.model.CameraPosition;
|
|
31
|
-
import com.google.android.gms.maps.model.LatLng;
|
|
32
|
-
|
|
33
|
-
import java.io.ByteArrayOutputStream;
|
|
34
|
-
import java.io.Closeable;
|
|
35
|
-
import java.io.File;
|
|
36
|
-
import java.io.FileOutputStream;
|
|
37
|
-
import java.io.IOException;
|
|
38
|
-
|
|
39
|
-
import java.util.List;
|
|
40
|
-
import java.util.Map;
|
|
41
|
-
import java.util.HashMap;
|
|
42
|
-
|
|
43
|
-
@ReactModule(name = MapModule.NAME)
|
|
44
|
-
public class MapModule extends ReactContextBaseJavaModule {
|
|
45
|
-
|
|
46
|
-
public static final String NAME = "AirMapModule";
|
|
47
|
-
private static final String SNAPSHOT_RESULT_FILE = "file";
|
|
48
|
-
private static final String SNAPSHOT_RESULT_BASE64 = "base64";
|
|
49
|
-
private static final String SNAPSHOT_FORMAT_PNG = "png";
|
|
50
|
-
private static final String SNAPSHOT_FORMAT_JPG = "jpg";
|
|
51
|
-
|
|
52
|
-
public MapModule(ReactApplicationContext reactContext) {
|
|
53
|
-
super(reactContext);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
@Override
|
|
57
|
-
public String getName() {
|
|
58
|
-
return NAME;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
@Override
|
|
62
|
-
public Map<String, Object> getConstants() {
|
|
63
|
-
final Map<String, Object> constants = new HashMap<>();
|
|
64
|
-
constants.put("legalNotice", "This license information is displayed in Settings > Google > Open Source on any device running Google Play services.");
|
|
65
|
-
return constants;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public Activity getActivity() {
|
|
69
|
-
return getCurrentActivity();
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
public static void closeQuietly(Closeable closeable) {
|
|
73
|
-
if (closeable == null) return;
|
|
74
|
-
try {
|
|
75
|
-
closeable.close();
|
|
76
|
-
} catch (IOException ignored) {
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
@ReactMethod
|
|
81
|
-
public void takeSnapshot(final int tag, final ReadableMap options, final Promise promise) {
|
|
82
|
-
|
|
83
|
-
// Parse and verity options
|
|
84
|
-
final ReactApplicationContext context = getReactApplicationContext();
|
|
85
|
-
final String format = options.hasKey("format") ? options.getString("format") : "png";
|
|
86
|
-
final Bitmap.CompressFormat compressFormat =
|
|
87
|
-
format.equals(SNAPSHOT_FORMAT_PNG) ? Bitmap.CompressFormat.PNG :
|
|
88
|
-
format.equals(SNAPSHOT_FORMAT_JPG) ? Bitmap.CompressFormat.JPEG : null;
|
|
89
|
-
final double quality = options.hasKey("quality") ? options.getDouble("quality") : 1.0;
|
|
90
|
-
final DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
|
|
91
|
-
final Integer width =
|
|
92
|
-
options.hasKey("width") ? (int) (displayMetrics.density * options.getDouble("width")) : 0;
|
|
93
|
-
final Integer height =
|
|
94
|
-
options.hasKey("height") ? (int) (displayMetrics.density * options.getDouble("height")) : 0;
|
|
95
|
-
final String result = options.hasKey("result") ? options.getString("result") : "file";
|
|
96
|
-
|
|
97
|
-
// Add UI-block so we can get a valid reference to the map-view
|
|
98
|
-
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
99
|
-
uiManager.addUIBlock(new UIBlock() {
|
|
100
|
-
public void execute(NativeViewHierarchyManager nvhm) {
|
|
101
|
-
MapView view = (MapView) nvhm.resolveView(tag);
|
|
102
|
-
if (view == null) {
|
|
103
|
-
promise.reject("AirMapView not found");
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
if (view.map == null) {
|
|
107
|
-
promise.reject("AirMapView.map is not valid");
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
view.map.snapshot(new GoogleMap.SnapshotReadyCallback() {
|
|
111
|
-
public void onSnapshotReady(@Nullable Bitmap snapshot) {
|
|
112
|
-
|
|
113
|
-
// Convert image to requested width/height if necessary
|
|
114
|
-
if (snapshot == null) {
|
|
115
|
-
promise.reject("Failed to generate bitmap, snapshot = null");
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if ((width != 0) && (height != 0) &&
|
|
119
|
-
(width != snapshot.getWidth() || height != snapshot.getHeight())) {
|
|
120
|
-
snapshot = Bitmap.createScaledBitmap(snapshot, width, height, true);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// Save the snapshot to disk
|
|
124
|
-
if (result.equals(SNAPSHOT_RESULT_FILE)) {
|
|
125
|
-
File tempFile;
|
|
126
|
-
FileOutputStream outputStream;
|
|
127
|
-
try {
|
|
128
|
-
tempFile =
|
|
129
|
-
File.createTempFile("AirMapSnapshot", "." + format, context.getCacheDir());
|
|
130
|
-
outputStream = new FileOutputStream(tempFile);
|
|
131
|
-
} catch (Exception e) {
|
|
132
|
-
promise.reject(e);
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
snapshot.compress(compressFormat, (int) (100.0 * quality), outputStream);
|
|
136
|
-
closeQuietly(outputStream);
|
|
137
|
-
String uri = Uri.fromFile(tempFile).toString();
|
|
138
|
-
promise.resolve(uri);
|
|
139
|
-
} else if (result.equals(SNAPSHOT_RESULT_BASE64)) {
|
|
140
|
-
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
|
141
|
-
snapshot.compress(compressFormat, (int) (100.0 * quality), outputStream);
|
|
142
|
-
closeQuietly(outputStream);
|
|
143
|
-
byte[] bytes = outputStream.toByteArray();
|
|
144
|
-
String data = Base64.encodeToString(bytes, Base64.NO_WRAP);
|
|
145
|
-
promise.resolve(data);
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
@ReactMethod
|
|
154
|
-
public void getCamera(final int tag, final Promise promise) {
|
|
155
|
-
final ReactApplicationContext context = getReactApplicationContext();
|
|
156
|
-
|
|
157
|
-
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
158
|
-
uiManager.addUIBlock(new UIBlock()
|
|
159
|
-
{
|
|
160
|
-
@Override
|
|
161
|
-
public void execute(NativeViewHierarchyManager nvhm)
|
|
162
|
-
{
|
|
163
|
-
MapView view = (MapView) nvhm.resolveView(tag);
|
|
164
|
-
if (view == null) {
|
|
165
|
-
promise.reject("AirMapView not found");
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
if (view.map == null) {
|
|
169
|
-
promise.reject("AirMapView.map is not valid");
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
CameraPosition position = view.map.getCameraPosition();
|
|
174
|
-
|
|
175
|
-
WritableMap centerJson = new WritableNativeMap();
|
|
176
|
-
centerJson.putDouble("latitude", position.target.latitude);
|
|
177
|
-
centerJson.putDouble("longitude", position.target.longitude);
|
|
178
|
-
|
|
179
|
-
WritableMap cameraJson = new WritableNativeMap();
|
|
180
|
-
cameraJson.putMap("center", centerJson);
|
|
181
|
-
cameraJson.putDouble("heading", (double)position.bearing);
|
|
182
|
-
cameraJson.putDouble("zoom", (double)position.zoom);
|
|
183
|
-
cameraJson.putDouble("pitch", (double)position.tilt);
|
|
184
|
-
|
|
185
|
-
promise.resolve(cameraJson);
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
@ReactMethod
|
|
191
|
-
public void getAddressFromCoordinates(final int tag, final ReadableMap coordinate, final Promise promise) {
|
|
192
|
-
final ReactApplicationContext context = getReactApplicationContext();
|
|
193
|
-
|
|
194
|
-
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
195
|
-
uiManager.addUIBlock(new UIBlock()
|
|
196
|
-
{
|
|
197
|
-
@Override
|
|
198
|
-
public void execute(NativeViewHierarchyManager nvhm)
|
|
199
|
-
{
|
|
200
|
-
MapView view = (MapView) nvhm.resolveView(tag);
|
|
201
|
-
if (view == null) {
|
|
202
|
-
promise.reject("AirMapView not found");
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
if (view.map == null) {
|
|
206
|
-
promise.reject("AirMapView.map is not valid");
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
if (coordinate == null ||
|
|
210
|
-
!coordinate.hasKey("latitude") ||
|
|
211
|
-
!coordinate.hasKey("longitude")) {
|
|
212
|
-
promise.reject("Invalid coordinate format");
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
Geocoder geocoder = new Geocoder(context);
|
|
216
|
-
try {
|
|
217
|
-
List<Address> list =
|
|
218
|
-
geocoder.getFromLocation(coordinate.getDouble("latitude"),coordinate.getDouble("longitude"),1);
|
|
219
|
-
if (list.isEmpty()) {
|
|
220
|
-
promise.reject("Can not get address location");
|
|
221
|
-
return;
|
|
222
|
-
}
|
|
223
|
-
Address address = list.get(0);
|
|
224
|
-
|
|
225
|
-
WritableMap addressJson = new WritableNativeMap();
|
|
226
|
-
addressJson.putString("name", address.getFeatureName());
|
|
227
|
-
addressJson.putString("locality", address.getLocality());
|
|
228
|
-
addressJson.putString("thoroughfare", address.getThoroughfare());
|
|
229
|
-
addressJson.putString("subThoroughfare", address.getSubThoroughfare());
|
|
230
|
-
addressJson.putString("subLocality", address.getSubLocality());
|
|
231
|
-
addressJson.putString("administrativeArea", address.getAdminArea());
|
|
232
|
-
addressJson.putString("subAdministrativeArea", address.getSubAdminArea());
|
|
233
|
-
addressJson.putString("postalCode", address.getPostalCode());
|
|
234
|
-
addressJson.putString("countryCode", address.getCountryCode());
|
|
235
|
-
addressJson.putString("country", address.getCountryName());
|
|
236
|
-
|
|
237
|
-
promise.resolve(addressJson);
|
|
238
|
-
} catch (IOException e) {
|
|
239
|
-
promise.reject("Can not get address location");
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
@ReactMethod
|
|
246
|
-
public void pointForCoordinate(final int tag, ReadableMap coordinate, final Promise promise) {
|
|
247
|
-
final ReactApplicationContext context = getReactApplicationContext();
|
|
248
|
-
final double density = (double) context.getResources().getDisplayMetrics().density;
|
|
249
|
-
|
|
250
|
-
final LatLng coord = new LatLng(
|
|
251
|
-
coordinate.hasKey("latitude") ? coordinate.getDouble("latitude") : 0.0,
|
|
252
|
-
coordinate.hasKey("longitude") ? coordinate.getDouble("longitude") : 0.0
|
|
253
|
-
);
|
|
254
|
-
|
|
255
|
-
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
256
|
-
uiManager.addUIBlock(new UIBlock()
|
|
257
|
-
{
|
|
258
|
-
@Override
|
|
259
|
-
public void execute(NativeViewHierarchyManager nvhm)
|
|
260
|
-
{
|
|
261
|
-
MapView view = (MapView) nvhm.resolveView(tag);
|
|
262
|
-
if (view == null) {
|
|
263
|
-
promise.reject("AirMapView not found");
|
|
264
|
-
return;
|
|
265
|
-
}
|
|
266
|
-
if (view.map == null) {
|
|
267
|
-
promise.reject("AirMapView.map is not valid");
|
|
268
|
-
return;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
Point pt = view.map.getProjection().toScreenLocation(coord);
|
|
272
|
-
|
|
273
|
-
WritableMap ptJson = new WritableNativeMap();
|
|
274
|
-
ptJson.putDouble("x", (double)pt.x / density);
|
|
275
|
-
ptJson.putDouble("y", (double)pt.y / density);
|
|
276
|
-
|
|
277
|
-
promise.resolve(ptJson);
|
|
278
|
-
}
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
@ReactMethod
|
|
283
|
-
public void coordinateForPoint(final int tag, ReadableMap point, final Promise promise) {
|
|
284
|
-
final ReactApplicationContext context = getReactApplicationContext();
|
|
285
|
-
final double density = (double) context.getResources().getDisplayMetrics().density;
|
|
286
|
-
|
|
287
|
-
final Point pt = new Point(
|
|
288
|
-
point.hasKey("x") ? (int)(point.getDouble("x") * density) : 0,
|
|
289
|
-
point.hasKey("y") ? (int)(point.getDouble("y") * density) : 0
|
|
290
|
-
);
|
|
291
|
-
|
|
292
|
-
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
293
|
-
uiManager.addUIBlock(new UIBlock()
|
|
294
|
-
{
|
|
295
|
-
@Override
|
|
296
|
-
public void execute(NativeViewHierarchyManager nvhm)
|
|
297
|
-
{
|
|
298
|
-
MapView view = (MapView) nvhm.resolveView(tag);
|
|
299
|
-
if (view == null)
|
|
300
|
-
{
|
|
301
|
-
promise.reject("AirMapView not found");
|
|
302
|
-
return;
|
|
303
|
-
}
|
|
304
|
-
if (view.map == null)
|
|
305
|
-
{
|
|
306
|
-
promise.reject("AirMapView.map is not valid");
|
|
307
|
-
return;
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
LatLng coord = view.map.getProjection().fromScreenLocation(pt);
|
|
311
|
-
|
|
312
|
-
WritableMap coordJson = new WritableNativeMap();
|
|
313
|
-
coordJson.putDouble("latitude", coord.latitude);
|
|
314
|
-
coordJson.putDouble("longitude", coord.longitude);
|
|
315
|
-
|
|
316
|
-
promise.resolve(coordJson);
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
@ReactMethod
|
|
322
|
-
public void getMapBoundaries(final int tag, final Promise promise) {
|
|
323
|
-
final ReactApplicationContext context = getReactApplicationContext();
|
|
324
|
-
|
|
325
|
-
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
326
|
-
uiManager.addUIBlock(new UIBlock()
|
|
327
|
-
{
|
|
328
|
-
@Override
|
|
329
|
-
public void execute(NativeViewHierarchyManager nvhm)
|
|
330
|
-
{
|
|
331
|
-
MapView view = (MapView) nvhm.resolveView(tag);
|
|
332
|
-
if (view == null) {
|
|
333
|
-
promise.reject("AirMapView not found");
|
|
334
|
-
return;
|
|
335
|
-
}
|
|
336
|
-
if (view.map == null) {
|
|
337
|
-
promise.reject("AirMapView.map is not valid");
|
|
338
|
-
return;
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
double[][] boundaries = view.getMapBoundaries();
|
|
342
|
-
|
|
343
|
-
WritableMap coordinates = new WritableNativeMap();
|
|
344
|
-
WritableMap northEastHash = new WritableNativeMap();
|
|
345
|
-
WritableMap southWestHash = new WritableNativeMap();
|
|
346
|
-
|
|
347
|
-
northEastHash.putDouble("longitude", boundaries[0][0]);
|
|
348
|
-
northEastHash.putDouble("latitude", boundaries[0][1]);
|
|
349
|
-
southWestHash.putDouble("longitude", boundaries[1][0]);
|
|
350
|
-
southWestHash.putDouble("latitude", boundaries[1][1]);
|
|
351
|
-
|
|
352
|
-
coordinates.putMap("northEast", northEastHash);
|
|
353
|
-
coordinates.putMap("southWest", southWestHash);
|
|
354
|
-
|
|
355
|
-
promise.resolve(coordinates);
|
|
356
|
-
}
|
|
357
|
-
});
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
@ReactMethod
|
|
361
|
-
public void enableLatestRenderer(final Promise promise) {
|
|
362
|
-
final ReactApplicationContext context = getReactApplicationContext();
|
|
363
|
-
|
|
364
|
-
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
365
|
-
uiManager.addUIBlock(new UIBlock()
|
|
366
|
-
{
|
|
367
|
-
@Override
|
|
368
|
-
public void execute(NativeViewHierarchyManager nvhm)
|
|
369
|
-
{
|
|
370
|
-
MapsInitializer.initialize(context, MapsInitializer.Renderer.LATEST, new OnMapsSdkInitializedCallback() {
|
|
371
|
-
@Override
|
|
372
|
-
public void onMapsSdkInitialized(@NonNull MapsInitializer.Renderer renderer) {
|
|
373
|
-
Log.d("AirMapRenderer", renderer.toString());
|
|
374
|
-
promise.resolve(renderer.toString());
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
|
-
}
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// AIRGoogleMapCalloutSubviewManager.m
|
|
3
|
-
// AirMaps
|
|
4
|
-
//
|
|
5
|
-
// Created by Denis Oblogin on 10/8/18.
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#ifdef HAVE_GOOGLE_MAPS
|
|
10
|
-
|
|
11
|
-
#import "AIRGoogleMapCalloutSubviewManager.h"
|
|
12
|
-
#import "AIRGoogleMapCalloutSubview.h"
|
|
13
|
-
#import <React/RCTView.h>
|
|
14
|
-
|
|
15
|
-
@implementation AIRGoogleMapCalloutSubviewManager
|
|
16
|
-
RCT_EXPORT_MODULE()
|
|
17
|
-
|
|
18
|
-
- (UIView *)view
|
|
19
|
-
{
|
|
20
|
-
AIRGoogleMapCalloutSubview *calloutSubview = [AIRGoogleMapCalloutSubview new];
|
|
21
|
-
return calloutSubview;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
RCT_EXPORT_VIEW_PROPERTY(onPress, RCTBubblingEventBlock)
|
|
25
|
-
|
|
26
|
-
@end
|
|
27
|
-
|
|
28
|
-
#endif
|