react-native-maps 1.4.0 → 1.5.0-beta.1
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 +63 -87
- package/android/build.gradle +3 -4
- package/android/src/main/AndroidManifest.xml +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/FileUtil.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/FusedLocationSource.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageReadable.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageReader.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ImageUtil.java +1 -2
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/LatLngBoundsUtils.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCallout.java → rnmaps/maps/MapCallout.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCalloutManager.java → rnmaps/maps/MapCalloutManager.java} +6 -6
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCircle.java → rnmaps/maps/MapCircle.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapCircleManager.java → rnmaps/maps/MapCircleManager.java} +11 -11
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapFeature.java → rnmaps/maps/MapFeature.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapGradientPolyline.java → rnmaps/maps/MapGradientPolyline.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapGradientPolylineManager.java → rnmaps/maps/MapGradientPolylineManager.java} +9 -9
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapHeatmap.java → rnmaps/maps/MapHeatmap.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapHeatmapManager.java → rnmaps/maps/MapHeatmapManager.java} +8 -8
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapLiteManager.java → rnmaps/maps/MapLiteManager.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapLocalTile.java → rnmaps/maps/MapLocalTile.java} +5 -5
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapLocalTileManager.java → rnmaps/maps/MapLocalTileManager.java} +9 -9
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapManager.java → rnmaps/maps/MapManager.java} +48 -48
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapMarker.java → rnmaps/maps/MapMarker.java} +12 -12
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapMarkerManager.java → rnmaps/maps/MapMarkerManager.java} +30 -30
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapModule.java → rnmaps/maps/MapModule.java} +10 -10
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapOverlay.java → rnmaps/maps/MapOverlay.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapOverlayManager.java → rnmaps/maps/MapOverlayManager.java} +11 -11
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolygon.java → rnmaps/maps/MapPolygon.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolygonManager.java → rnmaps/maps/MapPolygonManager.java} +13 -13
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolyline.java → rnmaps/maps/MapPolyline.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapPolylineManager.java → rnmaps/maps/MapPolylineManager.java} +13 -13
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapTileProvider.java → rnmaps/maps/MapTileProvider.java} +10 -10
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapTileWorker.java → rnmaps/maps/MapTileWorker.java} +3 -3
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapUrlTile.java → rnmaps/maps/MapUrlTile.java} +5 -5
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapUrlTileManager.java → rnmaps/maps/MapUrlTileManager.java} +17 -17
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapView.java → rnmaps/maps/MapView.java} +62 -63
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapWMSTile.java → rnmaps/maps/MapWMSTile.java} +6 -6
- package/android/src/main/java/com/{airbnb/android/react/maps/AirMapWMSTileManager.java → rnmaps/maps/MapWMSTileManager.java} +15 -15
- package/android/src/main/java/com/rnmaps/maps/MapsPackage.java +46 -0
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/RegionChangeEvent.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/SizeReportingShadowNode.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ViewAttacherGroup.java +1 -1
- package/android/src/main/java/com/{airbnb/android/react → rnmaps}/maps/ViewChangesTracker.java +7 -7
- package/package.json +15 -13
- package/android/src/main/java/com/airbnb/android/react/maps/MapsPackage.java +0 -65
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.util.DisplayMetrics;
|
|
@@ -15,10 +15,10 @@ import com.google.android.gms.maps.model.LatLng;
|
|
|
15
15
|
import java.util.List;
|
|
16
16
|
import java.util.ArrayList;
|
|
17
17
|
|
|
18
|
-
public class
|
|
18
|
+
public class MapGradientPolylineManager extends ViewGroupManager<MapGradientPolyline> {
|
|
19
19
|
private final DisplayMetrics metrics;
|
|
20
20
|
|
|
21
|
-
public
|
|
21
|
+
public MapGradientPolylineManager(ReactApplicationContext reactContext) {
|
|
22
22
|
super();
|
|
23
23
|
metrics = new DisplayMetrics();
|
|
24
24
|
((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
|
|
@@ -32,12 +32,12 @@ public class AirMapGradientPolylineManager extends ViewGroupManager<AirMapGradie
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
@Override
|
|
35
|
-
public
|
|
36
|
-
return new
|
|
35
|
+
public MapGradientPolyline createViewInstance(ThemedReactContext context) {
|
|
36
|
+
return new MapGradientPolyline(context);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
@ReactProp(name = "coordinates")
|
|
40
|
-
public void setCoordinates(
|
|
40
|
+
public void setCoordinates(MapGradientPolyline view, ReadableArray coordinates) {
|
|
41
41
|
List<LatLng> p = new ArrayList<LatLng>();
|
|
42
42
|
for (int i = 0; i < coordinates.size(); i++) {
|
|
43
43
|
ReadableMap point = coordinates.getMap(i);
|
|
@@ -48,7 +48,7 @@ public class AirMapGradientPolylineManager extends ViewGroupManager<AirMapGradie
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
@ReactProp(name = "strokeColors", customType = "ColorArray")
|
|
51
|
-
public void setStrokeColors(
|
|
51
|
+
public void setStrokeColors(MapGradientPolyline view, ReadableArray colors) {
|
|
52
52
|
if (colors != null) {
|
|
53
53
|
if (colors.size() == 0) {
|
|
54
54
|
int[] colorValues = {0,0};
|
|
@@ -70,13 +70,13 @@ public class AirMapGradientPolylineManager extends ViewGroupManager<AirMapGradie
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
@ReactProp(name = "zIndex", defaultFloat = 1.0f)
|
|
73
|
-
public void setZIndex(
|
|
73
|
+
public void setZIndex(MapGradientPolyline view, float zIndex) {
|
|
74
74
|
view.setZIndex(zIndex);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
|
|
78
78
|
@ReactProp(name = "strokeWidth", defaultFloat = 1f)
|
|
79
|
-
public void setStrokeWidth(
|
|
79
|
+
public void setStrokeWidth(MapGradientPolyline view, float widthInPoints) {
|
|
80
80
|
float widthInScreenPx = metrics.density * widthInPoints; // done for parity with iOS
|
|
81
81
|
view.setWidth(widthInScreenPx);
|
|
82
82
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.util.Log;
|
|
@@ -13,7 +13,7 @@ import com.google.maps.android.heatmaps.Gradient;
|
|
|
13
13
|
import java.util.Arrays;
|
|
14
14
|
import java.util.List;
|
|
15
15
|
|
|
16
|
-
public class
|
|
16
|
+
public class MapHeatmap extends MapFeature {
|
|
17
17
|
|
|
18
18
|
private TileOverlayOptions heatmapOptions;
|
|
19
19
|
private TileOverlay heatmap;
|
|
@@ -24,7 +24,7 @@ public class AirMapHeatmap extends AirMapFeature {
|
|
|
24
24
|
private Double opacity;
|
|
25
25
|
private Integer radius;
|
|
26
26
|
|
|
27
|
-
public
|
|
27
|
+
public MapHeatmap(Context context) {
|
|
28
28
|
super(context);
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.ReadableArray;
|
|
4
4
|
import com.facebook.react.bridge.ReadableMap;
|
|
@@ -11,7 +11,7 @@ import com.google.maps.android.heatmaps.WeightedLatLng;
|
|
|
11
11
|
import com.google.maps.android.heatmaps.Gradient;
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
public class
|
|
14
|
+
public class MapHeatmapManager extends ViewGroupManager<MapHeatmap> {
|
|
15
15
|
|
|
16
16
|
@Override
|
|
17
17
|
public String getName() {
|
|
@@ -19,12 +19,12 @@ public class AirMapHeatmapManager extends ViewGroupManager<AirMapHeatmap> {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
@Override
|
|
22
|
-
public
|
|
23
|
-
return new
|
|
22
|
+
public MapHeatmap createViewInstance(ThemedReactContext context) {
|
|
23
|
+
return new MapHeatmap(context);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
@ReactProp(name = "points")
|
|
27
|
-
public void setPoints(
|
|
27
|
+
public void setPoints(MapHeatmap view, ReadableArray points) {
|
|
28
28
|
WeightedLatLng[] p = new WeightedLatLng[points.size()];
|
|
29
29
|
for (int i = 0; i < points.size(); i++) {
|
|
30
30
|
ReadableMap point = points.getMap(i);
|
|
@@ -41,7 +41,7 @@ public class AirMapHeatmapManager extends ViewGroupManager<AirMapHeatmap> {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
@ReactProp(name = "gradient")
|
|
44
|
-
public void setGradient(
|
|
44
|
+
public void setGradient(MapHeatmap view, ReadableMap gradient) {
|
|
45
45
|
ReadableArray srcColors = gradient.getArray("colors");
|
|
46
46
|
int[] colors = new int[srcColors.size()];
|
|
47
47
|
for (int i = 0; i < srcColors.size(); i++) {
|
|
@@ -63,12 +63,12 @@ public class AirMapHeatmapManager extends ViewGroupManager<AirMapHeatmap> {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
@ReactProp(name = "opacity")
|
|
66
|
-
public void setOpacity(
|
|
66
|
+
public void setOpacity(MapHeatmap view, double opacity) {
|
|
67
67
|
view.setOpacity(opacity);
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
@ReactProp(name = "radius")
|
|
71
|
-
public void setRadius(
|
|
71
|
+
public void setRadius(MapHeatmap view, int radius) {
|
|
72
72
|
view.setRadius(radius);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
4
4
|
import com.google.android.gms.maps.GoogleMapOptions;
|
|
5
5
|
|
|
6
|
-
public class
|
|
6
|
+
public class MapLiteManager extends MapManager {
|
|
7
7
|
|
|
8
8
|
private static final String REACT_CLASS = "AIRMapLite";
|
|
9
9
|
|
|
@@ -12,7 +12,7 @@ public class AirMapLiteManager extends AirMapManager {
|
|
|
12
12
|
return REACT_CLASS;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
public
|
|
15
|
+
public MapLiteManager(ReactApplicationContext context) {
|
|
16
16
|
super(context);
|
|
17
17
|
this.googleMapOptions = new GoogleMapOptions().liteMode(true);
|
|
18
18
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
@@ -13,7 +13,7 @@ import java.io.FileInputStream;
|
|
|
13
13
|
import java.io.IOException;
|
|
14
14
|
import java.io.InputStream;
|
|
15
15
|
|
|
16
|
-
public class
|
|
16
|
+
public class MapLocalTile extends MapFeature {
|
|
17
17
|
|
|
18
18
|
class AIRMapLocalTileProvider implements TileProvider {
|
|
19
19
|
private static final int BUFFER_SIZE = 16 * 1024;
|
|
@@ -80,14 +80,14 @@ public class AirMapLocalTile extends AirMapFeature {
|
|
|
80
80
|
|
|
81
81
|
private TileOverlayOptions tileOverlayOptions;
|
|
82
82
|
private TileOverlay tileOverlay;
|
|
83
|
-
private
|
|
83
|
+
private MapLocalTile.AIRMapLocalTileProvider tileProvider;
|
|
84
84
|
|
|
85
85
|
private String pathTemplate;
|
|
86
86
|
private float tileSize;
|
|
87
87
|
private float zIndex;
|
|
88
88
|
private boolean useAssets;
|
|
89
89
|
|
|
90
|
-
public
|
|
90
|
+
public MapLocalTile(Context context) {
|
|
91
91
|
super(context);
|
|
92
92
|
}
|
|
93
93
|
|
|
@@ -129,7 +129,7 @@ public class AirMapLocalTile extends AirMapFeature {
|
|
|
129
129
|
private TileOverlayOptions createTileOverlayOptions() {
|
|
130
130
|
TileOverlayOptions options = new TileOverlayOptions();
|
|
131
131
|
options.zIndex(zIndex);
|
|
132
|
-
this.tileProvider = new
|
|
132
|
+
this.tileProvider = new MapLocalTile.AIRMapLocalTileProvider((int)this.tileSize, this.pathTemplate, this.useAssets);
|
|
133
133
|
options.tileProvider(this.tileProvider);
|
|
134
134
|
return options;
|
|
135
135
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.util.DisplayMetrics;
|
|
@@ -12,9 +12,9 @@ import com.facebook.react.uimanager.annotations.ReactProp;
|
|
|
12
12
|
/**
|
|
13
13
|
* Created by zavadpe on 30/11/2017.
|
|
14
14
|
*/
|
|
15
|
-
public class
|
|
15
|
+
public class MapLocalTileManager extends ViewGroupManager<MapLocalTile> {
|
|
16
16
|
|
|
17
|
-
public
|
|
17
|
+
public MapLocalTileManager(ReactApplicationContext reactContext) {
|
|
18
18
|
super();
|
|
19
19
|
DisplayMetrics metrics = new DisplayMetrics();
|
|
20
20
|
((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
|
|
@@ -28,27 +28,27 @@ public class AirMapLocalTileManager extends ViewGroupManager<AirMapLocalTile> {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
@Override
|
|
31
|
-
public
|
|
32
|
-
return new
|
|
31
|
+
public MapLocalTile createViewInstance(ThemedReactContext context) {
|
|
32
|
+
return new MapLocalTile(context);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
@ReactProp(name = "pathTemplate")
|
|
36
|
-
public void setPathTemplate(
|
|
36
|
+
public void setPathTemplate(MapLocalTile view, String pathTemplate) {
|
|
37
37
|
view.setPathTemplate(pathTemplate);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
@ReactProp(name = "tileSize", defaultFloat = 256f)
|
|
41
|
-
public void setTileSize(
|
|
41
|
+
public void setTileSize(MapLocalTile view, float tileSize) {
|
|
42
42
|
view.setTileSize(tileSize);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
@ReactProp(name = "zIndex", defaultFloat = -1.0f)
|
|
46
|
-
public void setZIndex(
|
|
46
|
+
public void setZIndex(MapLocalTile view, float zIndex) {
|
|
47
47
|
view.setZIndex(zIndex);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
@ReactProp(name = "useAssets", defaultBoolean = false)
|
|
51
|
-
public void setUseAssets(
|
|
51
|
+
public void setUseAssets(MapLocalTile view, boolean useAssets) {
|
|
52
52
|
view.setUseAssets(useAssets);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import android.view.View;
|
|
4
4
|
|
|
@@ -25,7 +25,7 @@ import com.google.android.gms.maps.model.LatLngBounds;
|
|
|
25
25
|
|
|
26
26
|
import java.util.Map;
|
|
27
27
|
|
|
28
|
-
public class
|
|
28
|
+
public class MapManager extends ViewGroupManager<MapView> {
|
|
29
29
|
|
|
30
30
|
private static final String REACT_CLASS = "AIRMap";
|
|
31
31
|
|
|
@@ -45,19 +45,19 @@ public class AirMapManager extends ViewGroupManager<AirMapView> {
|
|
|
45
45
|
);
|
|
46
46
|
|
|
47
47
|
private final ReactApplicationContext appContext;
|
|
48
|
-
private
|
|
48
|
+
private MapMarkerManager markerManager;
|
|
49
49
|
|
|
50
50
|
protected GoogleMapOptions googleMapOptions;
|
|
51
51
|
|
|
52
|
-
public
|
|
52
|
+
public MapManager(ReactApplicationContext context) {
|
|
53
53
|
this.appContext = context;
|
|
54
54
|
this.googleMapOptions = new GoogleMapOptions();
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
public
|
|
57
|
+
public MapMarkerManager getMarkerManager() {
|
|
58
58
|
return this.markerManager;
|
|
59
59
|
}
|
|
60
|
-
public void setMarkerManager(
|
|
60
|
+
public void setMarkerManager(MapMarkerManager markerManager) {
|
|
61
61
|
this.markerManager = markerManager;
|
|
62
62
|
}
|
|
63
63
|
|
|
@@ -67,8 +67,8 @@ public class AirMapManager extends ViewGroupManager<AirMapView> {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
@Override
|
|
70
|
-
protected
|
|
71
|
-
return new
|
|
70
|
+
protected MapView createViewInstance(ThemedReactContext context) {
|
|
71
|
+
return new MapView(context, this.appContext, this, googleMapOptions);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
private void emitMapError(ThemedReactContext context, String message, String type) {
|
|
@@ -82,38 +82,38 @@ public class AirMapManager extends ViewGroupManager<AirMapView> {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
@ReactProp(name = "region")
|
|
85
|
-
public void setRegion(
|
|
85
|
+
public void setRegion(MapView view, ReadableMap region) {
|
|
86
86
|
view.setRegion(region);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
@ReactProp(name = "initialRegion")
|
|
90
|
-
public void setInitialRegion(
|
|
90
|
+
public void setInitialRegion(MapView view, ReadableMap initialRegion) {
|
|
91
91
|
view.setInitialRegion(initialRegion);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
@ReactProp(name = "camera")
|
|
95
|
-
public void setCamera(
|
|
95
|
+
public void setCamera(MapView view, ReadableMap camera) {
|
|
96
96
|
view.setCamera(camera);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
@ReactProp(name = "initialCamera")
|
|
100
|
-
public void setInitialCamera(
|
|
100
|
+
public void setInitialCamera(MapView view, ReadableMap initialCamera) {
|
|
101
101
|
view.setInitialCamera(initialCamera);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
@ReactProp(name = "mapType")
|
|
105
|
-
public void setMapType(
|
|
105
|
+
public void setMapType(MapView view, @Nullable String mapType) {
|
|
106
106
|
int typeId = MAP_TYPES.get(mapType);
|
|
107
107
|
view.map.setMapType(typeId);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
@ReactProp(name = "customMapStyleString")
|
|
111
|
-
public void setMapStyle(
|
|
111
|
+
public void setMapStyle(MapView view, @Nullable String customMapStyleString) {
|
|
112
112
|
view.setMapStyle(customMapStyleString);
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
@ReactProp(name = "mapPadding")
|
|
116
|
-
public void setMapPadding(
|
|
116
|
+
public void setMapPadding(MapView view, @Nullable ReadableMap padding) {
|
|
117
117
|
int left = 0;
|
|
118
118
|
int top = 0;
|
|
119
119
|
int right = 0;
|
|
@@ -143,141 +143,141 @@ public class AirMapManager extends ViewGroupManager<AirMapView> {
|
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
@ReactProp(name = "showsUserLocation", defaultBoolean = false)
|
|
146
|
-
public void setShowsUserLocation(
|
|
146
|
+
public void setShowsUserLocation(MapView view, boolean showUserLocation) {
|
|
147
147
|
view.setShowsUserLocation(showUserLocation);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
150
|
@ReactProp(name = "userLocationPriority")
|
|
151
|
-
public void setUserLocationPriority(
|
|
151
|
+
public void setUserLocationPriority(MapView view, @Nullable String accuracy) {
|
|
152
152
|
view.setUserLocationPriority(MY_LOCATION_PRIORITY.get(accuracy));
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
@ReactProp(name = "userLocationUpdateInterval", defaultInt = 5000)
|
|
156
|
-
public void setUserLocationUpdateInterval(
|
|
156
|
+
public void setUserLocationUpdateInterval(MapView view, int updateInterval) {
|
|
157
157
|
view.setUserLocationUpdateInterval(updateInterval);
|
|
158
158
|
}
|
|
159
159
|
|
|
160
160
|
@ReactProp(name = "userLocationFastestInterval", defaultInt = 5000)
|
|
161
|
-
public void setUserLocationFastestInterval(
|
|
161
|
+
public void setUserLocationFastestInterval(MapView view, int fastestInterval) {
|
|
162
162
|
view.setUserLocationFastestInterval(fastestInterval);
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
@ReactProp(name = "showsMyLocationButton", defaultBoolean = true)
|
|
166
|
-
public void setShowsMyLocationButton(
|
|
166
|
+
public void setShowsMyLocationButton(MapView view, boolean showMyLocationButton) {
|
|
167
167
|
view.setShowsMyLocationButton(showMyLocationButton);
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
@ReactProp(name = "toolbarEnabled", defaultBoolean = true)
|
|
171
|
-
public void setToolbarEnabled(
|
|
171
|
+
public void setToolbarEnabled(MapView view, boolean toolbarEnabled) {
|
|
172
172
|
view.setToolbarEnabled(toolbarEnabled);
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
// This is a private prop to improve performance of panDrag by disabling it when the callback
|
|
176
176
|
// is not set
|
|
177
177
|
@ReactProp(name = "handlePanDrag", defaultBoolean = false)
|
|
178
|
-
public void setHandlePanDrag(
|
|
178
|
+
public void setHandlePanDrag(MapView view, boolean handlePanDrag) {
|
|
179
179
|
view.setHandlePanDrag(handlePanDrag);
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
@ReactProp(name = "showsTraffic", defaultBoolean = false)
|
|
183
|
-
public void setShowTraffic(
|
|
183
|
+
public void setShowTraffic(MapView view, boolean showTraffic) {
|
|
184
184
|
view.map.setTrafficEnabled(showTraffic);
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
@ReactProp(name = "showsBuildings", defaultBoolean = false)
|
|
188
|
-
public void setShowBuildings(
|
|
188
|
+
public void setShowBuildings(MapView view, boolean showBuildings) {
|
|
189
189
|
view.map.setBuildingsEnabled(showBuildings);
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
@ReactProp(name = "showsIndoors", defaultBoolean = false)
|
|
193
|
-
public void setShowIndoors(
|
|
193
|
+
public void setShowIndoors(MapView view, boolean showIndoors) {
|
|
194
194
|
view.map.setIndoorEnabled(showIndoors);
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
@ReactProp(name = "showsIndoorLevelPicker", defaultBoolean = false)
|
|
198
|
-
public void setShowsIndoorLevelPicker(
|
|
198
|
+
public void setShowsIndoorLevelPicker(MapView view, boolean showsIndoorLevelPicker) {
|
|
199
199
|
view.map.getUiSettings().setIndoorLevelPickerEnabled(showsIndoorLevelPicker);
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
@ReactProp(name = "showsCompass", defaultBoolean = false)
|
|
203
|
-
public void setShowsCompass(
|
|
203
|
+
public void setShowsCompass(MapView view, boolean showsCompass) {
|
|
204
204
|
view.map.getUiSettings().setCompassEnabled(showsCompass);
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
@ReactProp(name = "scrollEnabled", defaultBoolean = false)
|
|
208
|
-
public void setScrollEnabled(
|
|
208
|
+
public void setScrollEnabled(MapView view, boolean scrollEnabled) {
|
|
209
209
|
view.map.getUiSettings().setScrollGesturesEnabled(scrollEnabled);
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
@ReactProp(name = "zoomEnabled", defaultBoolean = false)
|
|
213
|
-
public void setZoomEnabled(
|
|
213
|
+
public void setZoomEnabled(MapView view, boolean zoomEnabled) {
|
|
214
214
|
view.map.getUiSettings().setZoomGesturesEnabled(zoomEnabled);
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
@ReactProp(name = "zoomControlEnabled", defaultBoolean = true)
|
|
218
|
-
public void setZoomControlEnabled(
|
|
218
|
+
public void setZoomControlEnabled(MapView view, boolean zoomControlEnabled) {
|
|
219
219
|
view.map.getUiSettings().setZoomControlsEnabled(zoomControlEnabled);
|
|
220
220
|
}
|
|
221
221
|
|
|
222
222
|
@ReactProp(name = "rotateEnabled", defaultBoolean = false)
|
|
223
|
-
public void setRotateEnabled(
|
|
223
|
+
public void setRotateEnabled(MapView view, boolean rotateEnabled) {
|
|
224
224
|
view.map.getUiSettings().setRotateGesturesEnabled(rotateEnabled);
|
|
225
225
|
}
|
|
226
226
|
|
|
227
227
|
@ReactProp(name = "scrollDuringRotateOrZoomEnabled", defaultBoolean = true)
|
|
228
|
-
public void setScrollDuringRotateOrZoomEnabled(
|
|
228
|
+
public void setScrollDuringRotateOrZoomEnabled(MapView view, boolean scrollDuringRotateOrZoomEnabled) {
|
|
229
229
|
view.map.getUiSettings().setScrollGesturesEnabledDuringRotateOrZoom(scrollDuringRotateOrZoomEnabled);
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
@ReactProp(name = "cacheEnabled", defaultBoolean = false)
|
|
233
|
-
public void setCacheEnabled(
|
|
233
|
+
public void setCacheEnabled(MapView view, boolean cacheEnabled) {
|
|
234
234
|
view.setCacheEnabled(cacheEnabled);
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
@ReactProp(name = "loadingEnabled", defaultBoolean = false)
|
|
238
|
-
public void setLoadingEnabled(
|
|
238
|
+
public void setLoadingEnabled(MapView view, boolean loadingEnabled) {
|
|
239
239
|
view.enableMapLoading(loadingEnabled);
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
@ReactProp(name = "moveOnMarkerPress", defaultBoolean = true)
|
|
243
|
-
public void setMoveOnMarkerPress(
|
|
243
|
+
public void setMoveOnMarkerPress(MapView view, boolean moveOnPress) {
|
|
244
244
|
view.setMoveOnMarkerPress(moveOnPress);
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
@ReactProp(name = "loadingBackgroundColor", customType = "Color")
|
|
248
|
-
public void setLoadingBackgroundColor(
|
|
248
|
+
public void setLoadingBackgroundColor(MapView view, @Nullable Integer loadingBackgroundColor) {
|
|
249
249
|
view.setLoadingBackgroundColor(loadingBackgroundColor);
|
|
250
250
|
}
|
|
251
251
|
|
|
252
252
|
@ReactProp(name = "loadingIndicatorColor", customType = "Color")
|
|
253
|
-
public void setLoadingIndicatorColor(
|
|
253
|
+
public void setLoadingIndicatorColor(MapView view, @Nullable Integer loadingIndicatorColor) {
|
|
254
254
|
view.setLoadingIndicatorColor(loadingIndicatorColor);
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
@ReactProp(name = "pitchEnabled", defaultBoolean = false)
|
|
258
|
-
public void setPitchEnabled(
|
|
258
|
+
public void setPitchEnabled(MapView view, boolean pitchEnabled) {
|
|
259
259
|
view.map.getUiSettings().setTiltGesturesEnabled(pitchEnabled);
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
@ReactProp(name = "minZoomLevel")
|
|
263
|
-
public void setMinZoomLevel(
|
|
263
|
+
public void setMinZoomLevel(MapView view, float minZoomLevel) {
|
|
264
264
|
view.map.setMinZoomPreference(minZoomLevel);
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
@ReactProp(name = "maxZoomLevel")
|
|
268
|
-
public void setMaxZoomLevel(
|
|
268
|
+
public void setMaxZoomLevel(MapView view, float maxZoomLevel) {
|
|
269
269
|
view.map.setMaxZoomPreference(maxZoomLevel);
|
|
270
270
|
}
|
|
271
271
|
|
|
272
272
|
@ReactProp(name = "kmlSrc")
|
|
273
|
-
public void setKmlSrc(
|
|
273
|
+
public void setKmlSrc(MapView view, String kmlUrl) {
|
|
274
274
|
if (kmlUrl != null) {
|
|
275
275
|
view.setKmlSrc(kmlUrl);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
278
|
|
|
279
279
|
@Override
|
|
280
|
-
public void receiveCommand(@NonNull
|
|
280
|
+
public void receiveCommand(@NonNull MapView view, String commandId, @Nullable ReadableArray args) {
|
|
281
281
|
int duration;
|
|
282
282
|
double lat;
|
|
283
283
|
double lng;
|
|
@@ -399,27 +399,27 @@ public class AirMapManager extends ViewGroupManager<AirMapView> {
|
|
|
399
399
|
}
|
|
400
400
|
|
|
401
401
|
@Override
|
|
402
|
-
public void addView(
|
|
402
|
+
public void addView(MapView parent, View child, int index) {
|
|
403
403
|
parent.addFeature(child, index);
|
|
404
404
|
}
|
|
405
405
|
|
|
406
406
|
@Override
|
|
407
|
-
public int getChildCount(
|
|
407
|
+
public int getChildCount(MapView view) {
|
|
408
408
|
return view.getFeatureCount();
|
|
409
409
|
}
|
|
410
410
|
|
|
411
411
|
@Override
|
|
412
|
-
public View getChildAt(
|
|
412
|
+
public View getChildAt(MapView view, int index) {
|
|
413
413
|
return view.getFeatureAt(index);
|
|
414
414
|
}
|
|
415
415
|
|
|
416
416
|
@Override
|
|
417
|
-
public void removeViewAt(
|
|
417
|
+
public void removeViewAt(MapView parent, int index) {
|
|
418
418
|
parent.removeFeatureAt(index);
|
|
419
419
|
}
|
|
420
420
|
|
|
421
421
|
@Override
|
|
422
|
-
public void updateExtraData(
|
|
422
|
+
public void updateExtraData(MapView view, Object extraData) {
|
|
423
423
|
view.updateExtraData(extraData);
|
|
424
424
|
}
|
|
425
425
|
|
|
@@ -429,7 +429,7 @@ public class AirMapManager extends ViewGroupManager<AirMapView> {
|
|
|
429
429
|
}
|
|
430
430
|
|
|
431
431
|
@Override
|
|
432
|
-
public void onDropViewInstance(
|
|
432
|
+
public void onDropViewInstance(MapView view) {
|
|
433
433
|
view.doDestroy();
|
|
434
434
|
super.onDropViewInstance(view);
|
|
435
435
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package com.
|
|
1
|
+
package com.rnmaps.maps;
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
import android.graphics.Bitmap;
|
|
@@ -40,7 +40,7 @@ import com.google.android.gms.maps.model.LatLng;
|
|
|
40
40
|
import com.google.android.gms.maps.model.Marker;
|
|
41
41
|
import com.google.android.gms.maps.model.MarkerOptions;
|
|
42
42
|
|
|
43
|
-
public class
|
|
43
|
+
public class MapMarker extends MapFeature {
|
|
44
44
|
|
|
45
45
|
private MarkerOptions markerOptions;
|
|
46
46
|
private Marker marker;
|
|
@@ -56,7 +56,7 @@ public class AirMapMarker extends AirMapFeature {
|
|
|
56
56
|
private float anchorX;
|
|
57
57
|
private float anchorY;
|
|
58
58
|
|
|
59
|
-
private
|
|
59
|
+
private MapCallout calloutView;
|
|
60
60
|
private View wrappedCalloutView;
|
|
61
61
|
private final Context context;
|
|
62
62
|
|
|
@@ -78,7 +78,7 @@ public class AirMapMarker extends AirMapFeature {
|
|
|
78
78
|
private boolean tracksViewChangesActive = false;
|
|
79
79
|
|
|
80
80
|
private boolean hasCustomMarkerView = false;
|
|
81
|
-
private final
|
|
81
|
+
private final MapMarkerManager markerManager;
|
|
82
82
|
private String imageUri;
|
|
83
83
|
|
|
84
84
|
private final DraweeHolder<?> logoHolder;
|
|
@@ -111,15 +111,15 @@ public class AirMapMarker extends AirMapFeature {
|
|
|
111
111
|
CloseableReference.closeSafely(imageReference);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
if (
|
|
115
|
-
|
|
114
|
+
if (MapMarker.this.markerManager != null && MapMarker.this.imageUri != null) {
|
|
115
|
+
MapMarker.this.markerManager.getSharedIcon(MapMarker.this.imageUri)
|
|
116
116
|
.updateIcon(iconBitmapDescriptor, iconBitmap);
|
|
117
117
|
}
|
|
118
118
|
update(true);
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
-
public
|
|
122
|
+
public MapMarker(Context context, MapMarkerManager markerManager) {
|
|
123
123
|
super(context);
|
|
124
124
|
this.context = context;
|
|
125
125
|
this.markerManager = markerManager;
|
|
@@ -127,7 +127,7 @@ public class AirMapMarker extends AirMapFeature {
|
|
|
127
127
|
logoHolder.onAttach();
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
public
|
|
130
|
+
public MapMarker(Context context, MarkerOptions options, MapMarkerManager markerManager) {
|
|
131
131
|
super(context);
|
|
132
132
|
this.context = context;
|
|
133
133
|
this.markerManager = markerManager;
|
|
@@ -332,7 +332,7 @@ public class AirMapMarker extends AirMapFeature {
|
|
|
332
332
|
}
|
|
333
333
|
if (uri != null) {
|
|
334
334
|
// listening for marker bitmap descriptor update, as well as check whether to load the image.
|
|
335
|
-
|
|
335
|
+
MapMarkerManager.AirMapMarkerSharedIcon sharedIcon = this.markerManager.getSharedIcon(uri);
|
|
336
336
|
sharedIcon.addMarker(this);
|
|
337
337
|
shouldLoadImage = sharedIcon.shouldLoadImage();
|
|
338
338
|
}
|
|
@@ -399,7 +399,7 @@ public class AirMapMarker extends AirMapFeature {
|
|
|
399
399
|
public void addView(View child, int index) {
|
|
400
400
|
super.addView(child, index);
|
|
401
401
|
// if children are added, it means we are rendering a custom marker
|
|
402
|
-
if (!(child instanceof
|
|
402
|
+
if (!(child instanceof MapCallout)) {
|
|
403
403
|
hasCustomMarkerView = true;
|
|
404
404
|
updateTracksViewChanges();
|
|
405
405
|
}
|
|
@@ -539,11 +539,11 @@ public class AirMapMarker extends AirMapFeature {
|
|
|
539
539
|
return bitmap;
|
|
540
540
|
}
|
|
541
541
|
|
|
542
|
-
public void setCalloutView(
|
|
542
|
+
public void setCalloutView(MapCallout view) {
|
|
543
543
|
this.calloutView = view;
|
|
544
544
|
}
|
|
545
545
|
|
|
546
|
-
public
|
|
546
|
+
public MapCallout getCalloutView() {
|
|
547
547
|
return this.calloutView;
|
|
548
548
|
}
|
|
549
549
|
|