react-native-maps 1.4.0-beta.1 → 1.4.0
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/android/build.gradle +4 -3
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/{rnmaps/maps/MapCallout.java → airbnb/android/react/maps/AirMapCallout.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapCalloutManager.java → airbnb/android/react/maps/AirMapCalloutManager.java} +6 -6
- package/android/src/main/java/com/{rnmaps/maps/MapCircle.java → airbnb/android/react/maps/AirMapCircle.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapCircleManager.java → airbnb/android/react/maps/AirMapCircleManager.java} +11 -11
- package/android/src/main/java/com/{rnmaps/maps/MapFeature.java → airbnb/android/react/maps/AirMapFeature.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapGradientPolyline.java → airbnb/android/react/maps/AirMapGradientPolyline.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapGradientPolylineManager.java → airbnb/android/react/maps/AirMapGradientPolylineManager.java} +9 -9
- package/android/src/main/java/com/{rnmaps/maps/MapHeatmap.java → airbnb/android/react/maps/AirMapHeatmap.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapHeatmapManager.java → airbnb/android/react/maps/AirMapHeatmapManager.java} +8 -8
- package/android/src/main/java/com/{rnmaps/maps/MapLiteManager.java → airbnb/android/react/maps/AirMapLiteManager.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapLocalTile.java → airbnb/android/react/maps/AirMapLocalTile.java} +5 -5
- package/android/src/main/java/com/{rnmaps/maps/MapLocalTileManager.java → airbnb/android/react/maps/AirMapLocalTileManager.java} +9 -9
- package/android/src/main/java/com/{rnmaps/maps/MapManager.java → airbnb/android/react/maps/AirMapManager.java} +48 -48
- package/android/src/main/java/com/{rnmaps/maps/MapMarker.java → airbnb/android/react/maps/AirMapMarker.java} +12 -12
- package/android/src/main/java/com/{rnmaps/maps/MapMarkerManager.java → airbnb/android/react/maps/AirMapMarkerManager.java} +30 -30
- package/android/src/main/java/com/{rnmaps/maps/MapModule.java → airbnb/android/react/maps/AirMapModule.java} +10 -10
- package/android/src/main/java/com/{rnmaps/maps/MapOverlay.java → airbnb/android/react/maps/AirMapOverlay.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapOverlayManager.java → airbnb/android/react/maps/AirMapOverlayManager.java} +11 -11
- package/android/src/main/java/com/{rnmaps/maps/MapPolygon.java → airbnb/android/react/maps/AirMapPolygon.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapPolygonManager.java → airbnb/android/react/maps/AirMapPolygonManager.java} +13 -13
- package/android/src/main/java/com/{rnmaps/maps/MapPolyline.java → airbnb/android/react/maps/AirMapPolyline.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapPolylineManager.java → airbnb/android/react/maps/AirMapPolylineManager.java} +13 -13
- package/android/src/main/java/com/{rnmaps/maps/MapTileProvider.java → airbnb/android/react/maps/AirMapTileProvider.java} +10 -10
- package/android/src/main/java/com/{rnmaps/maps/MapTileWorker.java → airbnb/android/react/maps/AirMapTileWorker.java} +3 -3
- package/android/src/main/java/com/{rnmaps/maps/MapUrlTile.java → airbnb/android/react/maps/AirMapUrlTile.java} +5 -5
- package/android/src/main/java/com/{rnmaps/maps/MapUrlTileManager.java → airbnb/android/react/maps/AirMapUrlTileManager.java} +17 -17
- package/android/src/main/java/com/{rnmaps/maps/MapView.java → airbnb/android/react/maps/AirMapView.java} +63 -62
- package/android/src/main/java/com/{rnmaps/maps/MapWMSTile.java → airbnb/android/react/maps/AirMapWMSTile.java} +6 -6
- package/android/src/main/java/com/{rnmaps/maps/MapWMSTileManager.java → airbnb/android/react/maps/AirMapWMSTileManager.java} +15 -15
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/FileUtil.java +1 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/FusedLocationSource.java +1 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/ImageReadable.java +1 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/ImageReader.java +1 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/ImageUtil.java +2 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/LatLngBoundsUtils.java +1 -1
- package/android/src/main/java/com/airbnb/android/react/maps/MapsPackage.java +65 -0
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/RegionChangeEvent.java +1 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/SizeReportingShadowNode.java +1 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/ViewAttacherGroup.java +1 -1
- package/android/src/main/java/com/{rnmaps → airbnb/android/react}/maps/ViewChangesTracker.java +7 -7
- package/lib/AnimatedRegion.d.ts +1 -1
- package/lib/Geojson.d.ts +5 -5
- package/lib/MapCallout.d.ts +2 -2
- package/lib/MapCalloutSubview.d.ts +3 -3
- package/lib/MapCircle.d.ts +2 -2
- package/lib/MapHeatmap.d.ts +3 -3
- package/lib/MapLocalTile.d.ts +2 -2
- package/lib/MapMarker.d.ts +3 -3
- package/lib/MapMarkerNativeComponent.d.ts +1 -1
- package/lib/MapOverlay.d.ts +4 -4
- package/lib/MapPolygon.d.ts +3 -3
- package/lib/MapPolyline.d.ts +3 -3
- package/lib/MapUrlTile.d.ts +2 -2
- package/lib/MapView.d.ts +4 -4
- package/lib/MapView.types.d.ts +24 -24
- package/lib/MapViewNativeComponent.d.ts +1 -1
- package/lib/MapWMSTile.d.ts +2 -2
- package/lib/decorateMapComponent.d.ts +7 -7
- package/lib/sharedTypes.d.ts +14 -14
- package/lib/sharedTypesInternal.d.ts +1 -1
- package/package.json +14 -14
- package/react-native-google-maps.podspec +1 -2
- package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +0 -46
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.app.Activity;
|
|
4
4
|
import android.graphics.Bitmap;
|
|
@@ -40,8 +40,8 @@ import java.util.List;
|
|
|
40
40
|
import java.util.Map;
|
|
41
41
|
import java.util.HashMap;
|
|
42
42
|
|
|
43
|
-
@ReactModule(name =
|
|
44
|
-
public class
|
|
43
|
+
@ReactModule(name = AirMapModule.NAME)
|
|
44
|
+
public class AirMapModule extends ReactContextBaseJavaModule {
|
|
45
45
|
|
|
46
46
|
public static final String NAME = "AirMapModule";
|
|
47
47
|
private static final String SNAPSHOT_RESULT_FILE = "file";
|
|
@@ -49,7 +49,7 @@ public class MapModule extends ReactContextBaseJavaModule {
|
|
|
49
49
|
private static final String SNAPSHOT_FORMAT_PNG = "png";
|
|
50
50
|
private static final String SNAPSHOT_FORMAT_JPG = "jpg";
|
|
51
51
|
|
|
52
|
-
public
|
|
52
|
+
public AirMapModule(ReactApplicationContext reactContext) {
|
|
53
53
|
super(reactContext);
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -98,7 +98,7 @@ public class MapModule extends ReactContextBaseJavaModule {
|
|
|
98
98
|
UIManagerModule uiManager = context.getNativeModule(UIManagerModule.class);
|
|
99
99
|
uiManager.addUIBlock(new UIBlock() {
|
|
100
100
|
public void execute(NativeViewHierarchyManager nvhm) {
|
|
101
|
-
|
|
101
|
+
AirMapView view = (AirMapView) nvhm.resolveView(tag);
|
|
102
102
|
if (view == null) {
|
|
103
103
|
promise.reject("AirMapView not found");
|
|
104
104
|
return;
|
|
@@ -160,7 +160,7 @@ public class MapModule extends ReactContextBaseJavaModule {
|
|
|
160
160
|
@Override
|
|
161
161
|
public void execute(NativeViewHierarchyManager nvhm)
|
|
162
162
|
{
|
|
163
|
-
|
|
163
|
+
AirMapView view = (AirMapView) nvhm.resolveView(tag);
|
|
164
164
|
if (view == null) {
|
|
165
165
|
promise.reject("AirMapView not found");
|
|
166
166
|
return;
|
|
@@ -197,7 +197,7 @@ public class MapModule extends ReactContextBaseJavaModule {
|
|
|
197
197
|
@Override
|
|
198
198
|
public void execute(NativeViewHierarchyManager nvhm)
|
|
199
199
|
{
|
|
200
|
-
|
|
200
|
+
AirMapView view = (AirMapView) nvhm.resolveView(tag);
|
|
201
201
|
if (view == null) {
|
|
202
202
|
promise.reject("AirMapView not found");
|
|
203
203
|
return;
|
|
@@ -258,7 +258,7 @@ public class MapModule extends ReactContextBaseJavaModule {
|
|
|
258
258
|
@Override
|
|
259
259
|
public void execute(NativeViewHierarchyManager nvhm)
|
|
260
260
|
{
|
|
261
|
-
|
|
261
|
+
AirMapView view = (AirMapView) nvhm.resolveView(tag);
|
|
262
262
|
if (view == null) {
|
|
263
263
|
promise.reject("AirMapView not found");
|
|
264
264
|
return;
|
|
@@ -295,7 +295,7 @@ public class MapModule extends ReactContextBaseJavaModule {
|
|
|
295
295
|
@Override
|
|
296
296
|
public void execute(NativeViewHierarchyManager nvhm)
|
|
297
297
|
{
|
|
298
|
-
|
|
298
|
+
AirMapView view = (AirMapView) nvhm.resolveView(tag);
|
|
299
299
|
if (view == null)
|
|
300
300
|
{
|
|
301
301
|
promise.reject("AirMapView not found");
|
|
@@ -328,7 +328,7 @@ public class MapModule extends ReactContextBaseJavaModule {
|
|
|
328
328
|
@Override
|
|
329
329
|
public void execute(NativeViewHierarchyManager nvhm)
|
|
330
330
|
{
|
|
331
|
-
|
|
331
|
+
AirMapView view = (AirMapView) nvhm.resolveView(tag);
|
|
332
332
|
if (view == null) {
|
|
333
333
|
promise.reject("AirMapView not found");
|
|
334
334
|
return;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.graphics.Bitmap;
|
|
@@ -12,7 +12,7 @@ import com.google.android.gms.maps.model.GroundOverlayOptions;
|
|
|
12
12
|
import com.google.android.gms.maps.model.LatLng;
|
|
13
13
|
import com.google.android.gms.maps.model.LatLngBounds;
|
|
14
14
|
|
|
15
|
-
public class
|
|
15
|
+
public class AirMapOverlay extends AirMapFeature implements ImageReadable {
|
|
16
16
|
|
|
17
17
|
private GroundOverlayOptions groundOverlayOptions;
|
|
18
18
|
private GroundOverlay groundOverlay;
|
|
@@ -26,7 +26,7 @@ public class MapOverlay extends MapFeature implements ImageReadable {
|
|
|
26
26
|
private final ImageReader mImageReader;
|
|
27
27
|
private GoogleMap map;
|
|
28
28
|
|
|
29
|
-
public
|
|
29
|
+
public AirMapOverlay(Context context) {
|
|
30
30
|
super(context);
|
|
31
31
|
this.mImageReader = new ImageReader(context, getResources(), this);
|
|
32
32
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.util.DisplayMetrics;
|
|
@@ -15,9 +15,9 @@ import com.facebook.react.uimanager.annotations.ReactProp;
|
|
|
15
15
|
|
|
16
16
|
import java.util.Map;
|
|
17
17
|
|
|
18
|
-
public class
|
|
18
|
+
public class AirMapOverlayManager extends ViewGroupManager<AirMapOverlay> {
|
|
19
19
|
|
|
20
|
-
public
|
|
20
|
+
public AirMapOverlayManager(ReactApplicationContext reactContext) {
|
|
21
21
|
super();
|
|
22
22
|
DisplayMetrics metrics = new DisplayMetrics();
|
|
23
23
|
((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
|
|
@@ -31,37 +31,37 @@ public class MapOverlayManager extends ViewGroupManager<MapOverlay> {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
@Override
|
|
34
|
-
public
|
|
35
|
-
return new
|
|
34
|
+
public AirMapOverlay createViewInstance(ThemedReactContext context) {
|
|
35
|
+
return new AirMapOverlay(context);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
@ReactProp(name = "bounds")
|
|
39
|
-
public void setBounds(
|
|
39
|
+
public void setBounds(AirMapOverlay view, ReadableArray bounds) {
|
|
40
40
|
view.setBounds(bounds);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
@ReactProp(name = "bearing")
|
|
44
|
-
public void setBearing(
|
|
44
|
+
public void setBearing(AirMapOverlay view, float bearing){
|
|
45
45
|
view.setBearing(bearing);
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
@ReactProp(name = "zIndex", defaultFloat = 1.0f)
|
|
49
|
-
public void setZIndex(
|
|
49
|
+
public void setZIndex(AirMapOverlay view, float zIndex) {
|
|
50
50
|
view.setZIndex(zIndex);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
@ReactProp(name = "opacity", defaultFloat = 1.0f)
|
|
54
|
-
public void setOpacity(
|
|
54
|
+
public void setOpacity(AirMapOverlay view, float opacity) {
|
|
55
55
|
view.setTransparency(1 - opacity);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
@ReactProp(name = "image")
|
|
59
|
-
public void setImage(
|
|
59
|
+
public void setImage(AirMapOverlay view, @Nullable String source) {
|
|
60
60
|
view.setImage(source);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
@ReactProp(name = "tappable", defaultBoolean = false)
|
|
64
|
-
public void setTappable(
|
|
64
|
+
public void setTappable(AirMapOverlay view, boolean tapabble) {
|
|
65
65
|
view.setTappable(tapabble);
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ import com.google.android.gms.maps.model.PolygonOptions;
|
|
|
12
12
|
import java.util.ArrayList;
|
|
13
13
|
import java.util.List;
|
|
14
14
|
|
|
15
|
-
public class
|
|
15
|
+
public class AirMapPolygon extends AirMapFeature {
|
|
16
16
|
|
|
17
17
|
private PolygonOptions polygonOptions;
|
|
18
18
|
private Polygon polygon;
|
|
@@ -26,7 +26,7 @@ public class MapPolygon extends MapFeature {
|
|
|
26
26
|
private boolean tappable;
|
|
27
27
|
private float zIndex;
|
|
28
28
|
|
|
29
|
-
public
|
|
29
|
+
public AirMapPolygon(Context context) {
|
|
30
30
|
super(context);
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.graphics.Color;
|
|
@@ -16,10 +16,10 @@ import com.facebook.react.uimanager.annotations.ReactProp;
|
|
|
16
16
|
|
|
17
17
|
import java.util.Map;
|
|
18
18
|
|
|
19
|
-
public class
|
|
19
|
+
public class AirMapPolygonManager extends ViewGroupManager<AirMapPolygon> {
|
|
20
20
|
private final DisplayMetrics metrics;
|
|
21
21
|
|
|
22
|
-
public
|
|
22
|
+
public AirMapPolygonManager(ReactApplicationContext reactContext) {
|
|
23
23
|
super();
|
|
24
24
|
metrics = new DisplayMetrics();
|
|
25
25
|
((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
|
|
@@ -33,48 +33,48 @@ public class MapPolygonManager extends ViewGroupManager<MapPolygon> {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
@Override
|
|
36
|
-
public
|
|
37
|
-
return new
|
|
36
|
+
public AirMapPolygon createViewInstance(ThemedReactContext context) {
|
|
37
|
+
return new AirMapPolygon(context);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
@ReactProp(name = "coordinates")
|
|
41
|
-
public void setCoordinate(
|
|
41
|
+
public void setCoordinate(AirMapPolygon view, ReadableArray coordinates) {
|
|
42
42
|
view.setCoordinates(coordinates);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
@ReactProp(name = "holes")
|
|
46
|
-
public void setHoles(
|
|
46
|
+
public void setHoles(AirMapPolygon view, ReadableArray holes) {
|
|
47
47
|
view.setHoles(holes);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
@ReactProp(name = "strokeWidth", defaultFloat = 1f)
|
|
51
|
-
public void setStrokeWidth(
|
|
51
|
+
public void setStrokeWidth(AirMapPolygon view, float widthInPoints) {
|
|
52
52
|
float widthInScreenPx = metrics.density * widthInPoints; // done for parity with iOS
|
|
53
53
|
view.setStrokeWidth(widthInScreenPx);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
@ReactProp(name = "fillColor", defaultInt = Color.RED, customType = "Color")
|
|
57
|
-
public void setFillColor(
|
|
57
|
+
public void setFillColor(AirMapPolygon view, int color) {
|
|
58
58
|
view.setFillColor(color);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
@ReactProp(name = "strokeColor", defaultInt = Color.RED, customType = "Color")
|
|
62
|
-
public void setStrokeColor(
|
|
62
|
+
public void setStrokeColor(AirMapPolygon view, int color) {
|
|
63
63
|
view.setStrokeColor(color);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
@ReactProp(name = "tappable", defaultBoolean = false)
|
|
67
|
-
public void setTappable(
|
|
67
|
+
public void setTappable(AirMapPolygon view, boolean tapabble) {
|
|
68
68
|
view.setTappable(tapabble);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
@ReactProp(name = "geodesic", defaultBoolean = false)
|
|
72
|
-
public void setGeodesic(
|
|
72
|
+
public void setGeodesic(AirMapPolygon view, boolean geodesic) {
|
|
73
73
|
view.setGeodesic(geodesic);
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
@ReactProp(name = "zIndex", defaultFloat = 1.0f)
|
|
77
|
-
public void setZIndex(
|
|
77
|
+
public void setZIndex(AirMapPolygon view, float zIndex) {
|
|
78
78
|
view.setZIndex(zIndex);
|
|
79
79
|
}
|
|
80
80
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
@@ -18,7 +18,7 @@ import com.google.android.gms.maps.model.RoundCap;
|
|
|
18
18
|
import java.util.ArrayList;
|
|
19
19
|
import java.util.List;
|
|
20
20
|
|
|
21
|
-
public class
|
|
21
|
+
public class AirMapPolyline extends AirMapFeature {
|
|
22
22
|
|
|
23
23
|
private PolylineOptions polylineOptions;
|
|
24
24
|
private Polyline polyline;
|
|
@@ -33,7 +33,7 @@ public class MapPolyline extends MapFeature {
|
|
|
33
33
|
private ReadableArray patternValues;
|
|
34
34
|
private List<PatternItem> pattern;
|
|
35
35
|
|
|
36
|
-
public
|
|
36
|
+
public AirMapPolyline(Context context) {
|
|
37
37
|
super(context);
|
|
38
38
|
}
|
|
39
39
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.graphics.Color;
|
|
@@ -20,10 +20,10 @@ import com.google.android.gms.maps.model.SquareCap;
|
|
|
20
20
|
|
|
21
21
|
import java.util.Map;
|
|
22
22
|
|
|
23
|
-
public class
|
|
23
|
+
public class AirMapPolylineManager extends ViewGroupManager<AirMapPolyline> {
|
|
24
24
|
private final DisplayMetrics metrics;
|
|
25
25
|
|
|
26
|
-
public
|
|
26
|
+
public AirMapPolylineManager(ReactApplicationContext reactContext) {
|
|
27
27
|
super();
|
|
28
28
|
metrics = new DisplayMetrics();
|
|
29
29
|
((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
|
|
@@ -37,43 +37,43 @@ public class MapPolylineManager extends ViewGroupManager<MapPolyline> {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
@Override
|
|
40
|
-
public
|
|
41
|
-
return new
|
|
40
|
+
public AirMapPolyline createViewInstance(ThemedReactContext context) {
|
|
41
|
+
return new AirMapPolyline(context);
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
@ReactProp(name = "coordinates")
|
|
45
|
-
public void setCoordinate(
|
|
45
|
+
public void setCoordinate(AirMapPolyline view, ReadableArray coordinates) {
|
|
46
46
|
view.setCoordinates(coordinates);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
@ReactProp(name = "strokeWidth", defaultFloat = 1f)
|
|
50
|
-
public void setStrokeWidth(
|
|
50
|
+
public void setStrokeWidth(AirMapPolyline view, float widthInPoints) {
|
|
51
51
|
float widthInScreenPx = metrics.density * widthInPoints; // done for parity with iOS
|
|
52
52
|
view.setWidth(widthInScreenPx);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
@ReactProp(name = "strokeColor", defaultInt = Color.RED, customType = "Color")
|
|
56
|
-
public void setStrokeColor(
|
|
56
|
+
public void setStrokeColor(AirMapPolyline view, int color) {
|
|
57
57
|
view.setColor(color);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
@ReactProp(name = "tappable", defaultBoolean = false)
|
|
61
|
-
public void setTappable(
|
|
61
|
+
public void setTappable(AirMapPolyline view, boolean tapabble) {
|
|
62
62
|
view.setTappable(tapabble);
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
@ReactProp(name = "geodesic", defaultBoolean = false)
|
|
66
|
-
public void setGeodesic(
|
|
66
|
+
public void setGeodesic(AirMapPolyline view, boolean geodesic) {
|
|
67
67
|
view.setGeodesic(geodesic);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
@ReactProp(name = "zIndex", defaultFloat = 1.0f)
|
|
71
|
-
public void setZIndex(
|
|
71
|
+
public void setZIndex(AirMapPolyline view, float zIndex) {
|
|
72
72
|
view.setZIndex(zIndex);
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
@ReactProp(name = "lineCap")
|
|
76
|
-
public void setlineCap(
|
|
76
|
+
public void setlineCap(AirMapPolyline view, String lineCap) {
|
|
77
77
|
Cap cap = null;
|
|
78
78
|
switch (lineCap) {
|
|
79
79
|
case "butt":
|
|
@@ -93,7 +93,7 @@ public class MapPolylineManager extends ViewGroupManager<MapPolyline> {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
@ReactProp(name = "lineDashPattern")
|
|
96
|
-
public void setLineDashPattern(
|
|
96
|
+
public void setLineDashPattern(AirMapPolyline view, ReadableArray patternValues) {
|
|
97
97
|
view.setLineDashPattern(patternValues);
|
|
98
98
|
}
|
|
99
99
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
@@ -41,7 +41,7 @@ import java.net.MalformedURLException;
|
|
|
41
41
|
import java.net.URL;
|
|
42
42
|
import java.net.URLConnection;
|
|
43
43
|
|
|
44
|
-
public class
|
|
44
|
+
public class AirMapTileProvider implements TileProvider {
|
|
45
45
|
|
|
46
46
|
class AIRMapUrlTileProvider extends UrlTileProvider {
|
|
47
47
|
private String urlTemplate;
|
|
@@ -54,7 +54,7 @@ public class MapTileProvider implements TileProvider {
|
|
|
54
54
|
@Override
|
|
55
55
|
public URL getTileUrl(int x, int y, int zoom) {
|
|
56
56
|
|
|
57
|
-
if (
|
|
57
|
+
if (AirMapTileProvider.this.flipY) {
|
|
58
58
|
y = (1 << zoom) - y - 1;
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -64,11 +64,11 @@ public class MapTileProvider implements TileProvider {
|
|
|
64
64
|
.replace("{z}", Integer.toString(zoom));
|
|
65
65
|
URL url;
|
|
66
66
|
|
|
67
|
-
if(
|
|
67
|
+
if(AirMapTileProvider.this.maximumZ > 0 && zoom > AirMapTileProvider.this.maximumZ) {
|
|
68
68
|
return null;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
if(
|
|
71
|
+
if(AirMapTileProvider.this.minimumZ > 0 && zoom < AirMapTileProvider.this.minimumZ) {
|
|
72
72
|
return null;
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -101,9 +101,9 @@ public class MapTileProvider implements TileProvider {
|
|
|
101
101
|
protected Context context;
|
|
102
102
|
protected boolean customMode;
|
|
103
103
|
|
|
104
|
-
public
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
public AirMapTileProvider(int tileSizet, boolean doubleTileSize, String urlTemplate,
|
|
105
|
+
int maximumZ, int maximumNativeZ, int minimumZ, boolean flipY, String tileCachePath,
|
|
106
|
+
int tileCacheMaxAge, boolean offlineMode, Context context, boolean customMode) {
|
|
107
107
|
this.tileProvider = new AIRMapUrlTileProvider(tileSizet, tileSizet, urlTemplate);
|
|
108
108
|
|
|
109
109
|
this.tileSize = tileSizet;
|
|
@@ -179,7 +179,7 @@ public class MapTileProvider implements TileProvider {
|
|
|
179
179
|
Constraints constraints = new Constraints.Builder()
|
|
180
180
|
.setRequiredNetworkType(NetworkType.CONNECTED)
|
|
181
181
|
.build();
|
|
182
|
-
OneTimeWorkRequest tileRefreshWorkRequest = new OneTimeWorkRequest.Builder(
|
|
182
|
+
OneTimeWorkRequest tileRefreshWorkRequest = new OneTimeWorkRequest.Builder(AirMapTileWorker.class)
|
|
183
183
|
.setConstraints(constraints)
|
|
184
184
|
.addTag(fileName)
|
|
185
185
|
.setInputData(
|
|
@@ -328,7 +328,7 @@ public class MapTileProvider implements TileProvider {
|
|
|
328
328
|
Constraints constraints = new Constraints.Builder()
|
|
329
329
|
.setRequiredNetworkType(NetworkType.CONNECTED)
|
|
330
330
|
.build();
|
|
331
|
-
OneTimeWorkRequest tileRefreshWorkRequest = new OneTimeWorkRequest.Builder(
|
|
331
|
+
OneTimeWorkRequest tileRefreshWorkRequest = new OneTimeWorkRequest.Builder(AirMapTileWorker.class)
|
|
332
332
|
.setConstraints(constraints)
|
|
333
333
|
.addTag(fileName)
|
|
334
334
|
.setInputData(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
@@ -18,10 +18,10 @@ import java.io.IOException;
|
|
|
18
18
|
import java.net.MalformedURLException;
|
|
19
19
|
import java.net.URL;
|
|
20
20
|
|
|
21
|
-
public class
|
|
21
|
+
public class AirMapTileWorker extends Worker {
|
|
22
22
|
private static final int BUFFER_SIZE = 16 * 1024;
|
|
23
23
|
|
|
24
|
-
public
|
|
24
|
+
public AirMapTileWorker(
|
|
25
25
|
@NonNull Context context,
|
|
26
26
|
@NonNull WorkerParameters params) {
|
|
27
27
|
super(context, params);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.util.Log;
|
|
4
4
|
|
|
@@ -11,10 +11,10 @@ import com.google.android.gms.maps.model.TileOverlayOptions;
|
|
|
11
11
|
import java.net.MalformedURLException;
|
|
12
12
|
import java.net.URL;
|
|
13
13
|
|
|
14
|
-
public class
|
|
14
|
+
public class AirMapUrlTile extends AirMapFeature {
|
|
15
15
|
protected TileOverlayOptions tileOverlayOptions;
|
|
16
16
|
protected TileOverlay tileOverlay;
|
|
17
|
-
protected
|
|
17
|
+
protected AirMapTileProvider tileProvider;
|
|
18
18
|
|
|
19
19
|
protected String urlTemplate;
|
|
20
20
|
protected float zIndex;
|
|
@@ -31,7 +31,7 @@ public class MapUrlTile extends MapFeature {
|
|
|
31
31
|
protected Context context;
|
|
32
32
|
protected boolean customTileProviderNeeded = false;
|
|
33
33
|
|
|
34
|
-
public
|
|
34
|
+
public AirMapUrlTile(Context context) {
|
|
35
35
|
super(context);
|
|
36
36
|
this.context = context;
|
|
37
37
|
}
|
|
@@ -183,7 +183,7 @@ public class MapUrlTile extends MapFeature {
|
|
|
183
183
|
TileOverlayOptions options = new TileOverlayOptions();
|
|
184
184
|
options.zIndex(zIndex);
|
|
185
185
|
options.transparency(1 - this.opacity);
|
|
186
|
-
this.tileProvider = new
|
|
186
|
+
this.tileProvider = new AirMapTileProvider((int)this.tileSize, this.doubleTileSize, this.urlTemplate,
|
|
187
187
|
(int)this.maximumZ, (int)this.maximumNativeZ, (int)this.minimumZ, this.flipY, this.tileCachePath,
|
|
188
188
|
(int)this.tileCacheMaxAge, this.offlineMode, this.context, this.customTileProviderNeeded);
|
|
189
189
|
options.tileProvider(this.tileProvider);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.airbnb.android.react.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.util.DisplayMetrics;
|
|
@@ -9,9 +9,9 @@ import com.facebook.react.uimanager.ThemedReactContext;
|
|
|
9
9
|
import com.facebook.react.uimanager.ViewGroupManager;
|
|
10
10
|
import com.facebook.react.uimanager.annotations.ReactProp;
|
|
11
11
|
|
|
12
|
-
public class
|
|
12
|
+
public class AirMapUrlTileManager extends ViewGroupManager<AirMapUrlTile> {
|
|
13
13
|
|
|
14
|
-
public
|
|
14
|
+
public AirMapUrlTileManager(ReactApplicationContext reactContext) {
|
|
15
15
|
super();
|
|
16
16
|
DisplayMetrics metrics = new DisplayMetrics();
|
|
17
17
|
((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
|
|
@@ -25,67 +25,67 @@ public class MapUrlTileManager extends ViewGroupManager<MapUrlTile> {
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
@Override
|
|
28
|
-
public
|
|
29
|
-
return new
|
|
28
|
+
public AirMapUrlTile createViewInstance(ThemedReactContext context) {
|
|
29
|
+
return new AirMapUrlTile(context);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
@ReactProp(name = "urlTemplate")
|
|
33
|
-
public void setUrlTemplate(
|
|
33
|
+
public void setUrlTemplate(AirMapUrlTile view, String urlTemplate) {
|
|
34
34
|
view.setUrlTemplate(urlTemplate);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
@ReactProp(name = "zIndex", defaultFloat = -1.0f)
|
|
38
|
-
public void setZIndex(
|
|
38
|
+
public void setZIndex(AirMapUrlTile view, float zIndex) {
|
|
39
39
|
view.setZIndex(zIndex);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
@ReactProp(name = "minimumZ", defaultFloat = 0.0f)
|
|
43
|
-
public void setMinimumZ(
|
|
43
|
+
public void setMinimumZ(AirMapUrlTile view, float minimumZ) {
|
|
44
44
|
view.setMinimumZ(minimumZ);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
@ReactProp(name = "maximumZ", defaultFloat = 100.0f)
|
|
48
|
-
public void setMaximumZ(
|
|
48
|
+
public void setMaximumZ(AirMapUrlTile view, float maximumZ) {
|
|
49
49
|
view.setMaximumZ(maximumZ);
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
@ReactProp(name = "maximumNativeZ", defaultFloat = 100.0f)
|
|
53
|
-
public void setMaximumNativeZ(
|
|
53
|
+
public void setMaximumNativeZ(AirMapUrlTile view, float maximumNativeZ) {
|
|
54
54
|
view.setMaximumNativeZ(maximumNativeZ);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
@ReactProp(name = "flipY", defaultBoolean = false)
|
|
58
|
-
public void setFlipY(
|
|
58
|
+
public void setFlipY(AirMapUrlTile view, boolean flipY) {
|
|
59
59
|
view.setFlipY(flipY);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
@ReactProp(name = "tileSize", defaultFloat = 256.0f)
|
|
63
|
-
public void setTileSize(
|
|
63
|
+
public void setTileSize(AirMapUrlTile view, float tileSize) {
|
|
64
64
|
view.setTileSize(tileSize);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
@ReactProp(name = "doubleTileSize", defaultBoolean = false)
|
|
68
|
-
public void setDoubleTileSize(
|
|
68
|
+
public void setDoubleTileSize(AirMapUrlTile view, boolean doubleTileSize) {
|
|
69
69
|
view.setDoubleTileSize(doubleTileSize);
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
@ReactProp(name = "tileCachePath")
|
|
73
|
-
public void setTileCachePath(
|
|
73
|
+
public void setTileCachePath(AirMapUrlTile view, String tileCachePath) {
|
|
74
74
|
view.setTileCachePath(tileCachePath);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
@ReactProp(name = "tileCacheMaxAge", defaultFloat = 0.0f)
|
|
78
|
-
public void setTileCacheMaxAge(
|
|
78
|
+
public void setTileCacheMaxAge(AirMapUrlTile view, float tileCacheMaxAge) {
|
|
79
79
|
view.setTileCacheMaxAge(tileCacheMaxAge);
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
@ReactProp(name = "offlineMode", defaultBoolean = false)
|
|
83
|
-
public void setOfflineMode(
|
|
83
|
+
public void setOfflineMode(AirMapUrlTile view, boolean offlineMode) {
|
|
84
84
|
view.setOfflineMode(offlineMode);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
@ReactProp(name = "opacity", defaultFloat = 1.0f)
|
|
88
|
-
public void setOpacity(
|
|
88
|
+
public void setOpacity(AirMapUrlTile view, float opacity) {
|
|
89
89
|
view.setOpacity(opacity);
|
|
90
90
|
}
|
|
91
91
|
}
|