react-native-maps 1.21.0-alpha.8 → 1.21.0-alpha.80
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 +45 -14
- package/android/generated/RCTAppDependencyProvider.h +25 -0
- package/android/generated/RCTAppDependencyProvider.mm +55 -0
- package/android/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/android/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/android/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/android/generated/RCTThirdPartyComponentsProvider.mm +26 -0
- package/android/generated/ReactAppDependencyProvider.podspec +34 -0
- package/android/generated/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +18 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +24 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +206 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +40 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +27 -0
- package/android/generated/jni/CMakeLists.txt +36 -0
- package/android/generated/jni/RNMapsSpecs-generated.cpp +68 -0
- package/android/generated/jni/RNMapsSpecs.h +31 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +27 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +29 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +940 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +809 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.cpp +170 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.h +1142 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +22 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +87 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.h +89 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/gradlew +1 -2
- package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
- package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
- package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +618 -0
- package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +259 -0
- package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +156 -4
- package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
- package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +30 -2
- package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
- package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +79 -3
- package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
- package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +29 -0
- package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
- package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
- package/android/src/main/java/com/rnmaps/maps/MapView.java +1649 -1336
- package/ios/AirGoogleMaps/AIRGoogleMap.h +3 -2
- package/ios/AirGoogleMaps/AIRGoogleMap.m +155 -50
- package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
- package/ios/AirGoogleMaps/AIRGoogleMapManager.m +17 -28
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +2 -0
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +347 -243
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +2 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +30 -0
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +2 -2
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +2 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +3 -3
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +201 -60
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +217 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +25 -0
- package/ios/AirMaps/AIRMap.h +5 -2
- package/ios/AirMaps/AIRMap.m +285 -153
- package/ios/AirMaps/AIRMapManager.m +6 -0
- package/ios/AirMaps/AIRMapMarker.h +1 -0
- package/ios/AirMaps/AIRMapMarker.m +165 -103
- package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
- package/ios/AirMaps/RNMapsAirModule.h +1 -1
- package/ios/AirMaps/RNMapsAirModule.mm +42 -172
- package/ios/AirMaps/RNMapsAirModuleDelegate.h +24 -0
- package/ios/AirMaps/RNMapsHostVewDelegate.h +17 -0
- package/ios/AirMaps/RNMapsMapView.h +3 -3
- package/ios/AirMaps/RNMapsMapView.mm +340 -308
- package/ios/AirMaps/RNMapsMarkerView.h +24 -0
- package/ios/AirMaps/RNMapsMarkerView.mm +430 -0
- package/ios/AirMaps/RNMapsMarkerViewManager.mm +21 -0
- package/ios/AirMaps/UIView +AirMap.m +20 -0
- package/ios/AirMaps/UIView+AirMap.h +11 -0
- package/ios/AirMaps.xcodeproj/project.pbxproj +60 -0
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +27 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +29 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.cpp +940 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.h +809 -0
- package/ios/generated/RNMapsSpecs/Props.cpp +170 -0
- package/ios/generated/RNMapsSpecs/Props.h +1142 -0
- package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +595 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +22 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.h +87 -0
- package/ios/generated/RNMapsSpecs/States.cpp +16 -0
- package/ios/generated/RNMapsSpecs/States.h +89 -0
- package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
- package/ios/generated/RNMapsSpecsJSI.h +268 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/MapCircle.d.ts +1 -1
- package/lib/MapHeatmap.d.ts +2 -2
- package/lib/MapHeatmap.js +1 -1
- package/lib/MapMarker.d.ts +16 -3
- package/lib/MapMarker.js +53 -9
- package/lib/MapMarkerNativeComponent.js +0 -2
- package/lib/MapOverlay.js +2 -8
- package/lib/MapPolygon.d.ts +1 -1
- package/lib/MapPolyline.d.ts +7 -7
- package/lib/MapView.d.ts +14 -27
- package/lib/MapView.js +97 -103
- package/lib/MapView.types.d.ts +1 -1
- package/lib/createFabricMap.d.ts +1 -0
- package/lib/createFabricMap.js +15 -2
- package/lib/decorateMapComponent.js +30 -0
- package/lib/specs/NativeAirMapsModule.d.ts +2 -2
- package/lib/specs/NativeComponentCallout.d.ts +46 -0
- package/lib/specs/NativeComponentCallout.js +9 -0
- package/lib/specs/NativeComponentGoogleMapView.d.ts +15 -15
- package/lib/specs/NativeComponentGoogleMapView.js +1 -0
- package/lib/specs/NativeComponentGooglePolygon.d.ts +75 -0
- package/lib/specs/NativeComponentGooglePolygon.js +7 -0
- package/lib/specs/NativeComponentMapView.d.ts +28 -36
- package/lib/specs/NativeComponentMapView.js +2 -3
- package/lib/specs/NativeComponentMarker.d.ts +258 -0
- package/lib/specs/NativeComponentMarker.js +19 -0
- package/lib/specs/NativeComponentPolyline.d.ts +101 -0
- package/lib/specs/NativeComponentPolyline.js +7 -0
- package/package.json +25 -20
- package/react-native-maps.podspec +2 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package com.rnmaps.fabric.event;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.bridge.WritableMap;
|
|
6
|
+
import com.facebook.react.uimanager.events.Event;
|
|
7
|
+
|
|
8
|
+
public class OnSelectEvent extends Event<OnSelectEvent> {
|
|
9
|
+
public static final String EVENT_NAME = "topSelect";
|
|
10
|
+
|
|
11
|
+
private final WritableMap payload;
|
|
12
|
+
|
|
13
|
+
public OnSelectEvent(int surfaceId, int viewId, WritableMap payload) {
|
|
14
|
+
super(surfaceId, viewId);
|
|
15
|
+
this.payload = payload;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@NonNull
|
|
19
|
+
@Override
|
|
20
|
+
public String getEventName() {
|
|
21
|
+
return EVENT_NAME;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@Override
|
|
25
|
+
public WritableMap getEventData() {
|
|
26
|
+
return payload;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package com.rnmaps.fabric.event;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
|
|
5
|
+
import com.facebook.react.bridge.WritableMap;
|
|
6
|
+
import com.facebook.react.uimanager.events.Event;
|
|
7
|
+
|
|
8
|
+
public class OnUserLocationChangeEvent extends Event<OnUserLocationChangeEvent> {
|
|
9
|
+
public static final String EVENT_NAME = "topUserLocationChange";
|
|
10
|
+
|
|
11
|
+
private final WritableMap payload;
|
|
12
|
+
|
|
13
|
+
public OnUserLocationChangeEvent(int surfaceId, int viewId, WritableMap payload) {
|
|
14
|
+
super(surfaceId, viewId);
|
|
15
|
+
this.payload = payload;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@NonNull
|
|
19
|
+
@Override
|
|
20
|
+
public String getEventName() {
|
|
21
|
+
return EVENT_NAME;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@Override
|
|
25
|
+
public WritableMap getEventData() {
|
|
26
|
+
return payload;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -7,17 +7,45 @@ import com.facebook.react.bridge.NativeModule;
|
|
|
7
7
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
8
8
|
import com.facebook.react.module.model.ReactModuleInfo;
|
|
9
9
|
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
10
|
+
import com.facebook.react.uimanager.ViewManager;
|
|
11
|
+
import com.rnmaps.fabric.CalloutManager;
|
|
12
|
+
import com.rnmaps.fabric.MapViewManager;
|
|
13
|
+
import com.rnmaps.fabric.MarkerManager;
|
|
10
14
|
import com.rnmaps.fabric.NativeAirMapsModule;
|
|
11
|
-
import com.
|
|
15
|
+
import com.facebook.fbreact.specs.NativeAirMapsModuleSpec;
|
|
16
|
+
import com.rnmaps.fabric.PolygonManager;
|
|
17
|
+
import com.rnmaps.fabric.PolylineManager;
|
|
12
18
|
|
|
13
19
|
import java.util.HashMap;
|
|
20
|
+
import java.util.List;
|
|
14
21
|
import java.util.Map;
|
|
15
22
|
|
|
16
23
|
public class MapAirModulePackage extends TurboReactPackage {
|
|
17
24
|
|
|
25
|
+
@Override
|
|
26
|
+
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
|
27
|
+
return List.of(new MapViewManager(reactContext), new MarkerManager(reactContext), new CalloutManager(reactContext), new PolygonManager(reactContext), new PolylineManager(reactContext));
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
18
31
|
@Override
|
|
19
32
|
public NativeModule getModule(String name, ReactApplicationContext reactContext) {
|
|
20
|
-
if (
|
|
33
|
+
if (PolylineManager.REACT_CLASS.equals(name)) {
|
|
34
|
+
return new PolylineManager(reactContext);
|
|
35
|
+
}
|
|
36
|
+
if (PolygonManager.REACT_CLASS.equals(name)) {
|
|
37
|
+
return new PolygonManager(reactContext);
|
|
38
|
+
}
|
|
39
|
+
if (CalloutManager.REACT_CLASS.equals(name)) {
|
|
40
|
+
return new CalloutManager(reactContext);
|
|
41
|
+
}
|
|
42
|
+
if (MarkerManager.REACT_CLASS.equals(name)) {
|
|
43
|
+
return new MarkerManager(reactContext);
|
|
44
|
+
}
|
|
45
|
+
if (MapViewManager.REACT_CLASS.equals(name)) {
|
|
46
|
+
return new MapViewManager(reactContext);
|
|
47
|
+
}
|
|
48
|
+
if (NativeAirMapsModuleSpec.NAME.equals(name)) {
|
|
21
49
|
return new NativeAirMapsModule(reactContext);
|
|
22
50
|
} else {
|
|
23
51
|
return null;
|
|
@@ -2,7 +2,11 @@ package com.rnmaps.maps;
|
|
|
2
2
|
|
|
3
3
|
import android.content.Context;
|
|
4
4
|
|
|
5
|
+
import com.facebook.react.common.MapBuilder;
|
|
5
6
|
import com.facebook.react.views.view.ReactViewGroup;
|
|
7
|
+
import com.rnmaps.fabric.event.OnPressEvent;
|
|
8
|
+
|
|
9
|
+
import java.util.Map;
|
|
6
10
|
|
|
7
11
|
public class MapCallout extends ReactViewGroup {
|
|
8
12
|
private boolean tooltip = false;
|
|
@@ -20,4 +24,18 @@ public class MapCallout extends ReactViewGroup {
|
|
|
20
24
|
public boolean getTooltip() {
|
|
21
25
|
return this.tooltip;
|
|
22
26
|
}
|
|
27
|
+
|
|
28
|
+
@Override
|
|
29
|
+
protected void onLayout(boolean changed,
|
|
30
|
+
int left, int top, int right, int bottom){
|
|
31
|
+
width = right - left;
|
|
32
|
+
height = bottom - top;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
public static Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
|
|
37
|
+
MapBuilder.Builder<String, Object> builder = MapBuilder.builder();
|
|
38
|
+
builder.put(OnPressEvent.EVENT_NAME, MapBuilder.of("registrationName", OnPressEvent.EVENT_NAME));
|
|
39
|
+
return builder.build();
|
|
40
|
+
}
|
|
23
41
|
}
|
|
@@ -42,7 +42,7 @@ public class MapManager extends ViewGroupManager<MapView> {
|
|
|
42
42
|
"none", GoogleMap.MAP_TYPE_NONE
|
|
43
43
|
);
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
public static final Map<String, Integer> MY_LOCATION_PRIORITY = MapBuilder.of(
|
|
46
46
|
"balanced", Priority.PRIORITY_BALANCED_POWER_ACCURACY,
|
|
47
47
|
"high", Priority.PRIORITY_HIGH_ACCURACY,
|
|
48
48
|
"low", Priority.PRIORITY_LOW_POWER,
|
|
@@ -240,47 +240,47 @@ public class MapManager extends ViewGroupManager<MapView> {
|
|
|
240
240
|
|
|
241
241
|
@ReactProp(name = "showsBuildings", defaultBoolean = false)
|
|
242
242
|
public void setShowBuildings(MapView view, boolean showBuildings) {
|
|
243
|
-
view.
|
|
243
|
+
view.setShowBuildings(showBuildings);
|
|
244
244
|
}
|
|
245
245
|
|
|
246
246
|
@ReactProp(name = "showsIndoors", defaultBoolean = false)
|
|
247
247
|
public void setShowIndoors(MapView view, boolean showIndoors) {
|
|
248
|
-
view.
|
|
248
|
+
view.setShowIndoors(showIndoors);
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
@ReactProp(name = "showsIndoorLevelPicker", defaultBoolean = false)
|
|
252
252
|
public void setShowsIndoorLevelPicker(MapView view, boolean showsIndoorLevelPicker) {
|
|
253
|
-
view.
|
|
253
|
+
view.setShowsIndoorLevelPicker(showsIndoorLevelPicker);
|
|
254
254
|
}
|
|
255
255
|
|
|
256
256
|
@ReactProp(name = "showsCompass", defaultBoolean = false)
|
|
257
257
|
public void setShowsCompass(MapView view, boolean showsCompass) {
|
|
258
|
-
view.
|
|
258
|
+
view.setShowsCompass(showsCompass);
|
|
259
259
|
}
|
|
260
260
|
|
|
261
261
|
@ReactProp(name = "scrollEnabled", defaultBoolean = false)
|
|
262
262
|
public void setScrollEnabled(MapView view, boolean scrollEnabled) {
|
|
263
|
-
view.
|
|
263
|
+
view.setScrollEnabled(scrollEnabled);
|
|
264
264
|
}
|
|
265
265
|
|
|
266
266
|
@ReactProp(name = "zoomEnabled", defaultBoolean = false)
|
|
267
267
|
public void setZoomEnabled(MapView view, boolean zoomEnabled) {
|
|
268
|
-
view.
|
|
268
|
+
view.setZoomEnabled(zoomEnabled);
|
|
269
269
|
}
|
|
270
270
|
|
|
271
271
|
@ReactProp(name = "zoomControlEnabled", defaultBoolean = true)
|
|
272
272
|
public void setZoomControlEnabled(MapView view, boolean zoomControlEnabled) {
|
|
273
|
-
view.
|
|
273
|
+
view.setZoomControlEnabled(zoomControlEnabled);
|
|
274
274
|
}
|
|
275
275
|
|
|
276
276
|
@ReactProp(name = "rotateEnabled", defaultBoolean = false)
|
|
277
277
|
public void setRotateEnabled(MapView view, boolean rotateEnabled) {
|
|
278
|
-
view.
|
|
278
|
+
view.setRotateEnabled(rotateEnabled);
|
|
279
279
|
}
|
|
280
280
|
|
|
281
281
|
@ReactProp(name = "scrollDuringRotateOrZoomEnabled", defaultBoolean = true)
|
|
282
282
|
public void setScrollDuringRotateOrZoomEnabled(MapView view, boolean scrollDuringRotateOrZoomEnabled) {
|
|
283
|
-
view.
|
|
283
|
+
view.setScrollDuringRotateOrZoomEnabled(scrollDuringRotateOrZoomEnabled);
|
|
284
284
|
}
|
|
285
285
|
|
|
286
286
|
@ReactProp(name = "cacheEnabled", defaultBoolean = false)
|
|
@@ -295,7 +295,7 @@ public class MapManager extends ViewGroupManager<MapView> {
|
|
|
295
295
|
|
|
296
296
|
@ReactProp(name = "loadingEnabled", defaultBoolean = false)
|
|
297
297
|
public void setLoadingEnabled(MapView view, boolean loadingEnabled) {
|
|
298
|
-
view.
|
|
298
|
+
view.setLoadingEnabled(loadingEnabled);
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
@ReactProp(name = "moveOnMarkerPress", defaultBoolean = true)
|
|
@@ -315,17 +315,17 @@ public class MapManager extends ViewGroupManager<MapView> {
|
|
|
315
315
|
|
|
316
316
|
@ReactProp(name = "pitchEnabled", defaultBoolean = false)
|
|
317
317
|
public void setPitchEnabled(MapView view, boolean pitchEnabled) {
|
|
318
|
-
view.
|
|
318
|
+
view.setPitchEnabled(pitchEnabled);
|
|
319
319
|
}
|
|
320
320
|
|
|
321
321
|
@ReactProp(name = "minZoomLevel")
|
|
322
322
|
public void setMinZoomLevel(MapView view, float minZoomLevel) {
|
|
323
|
-
view.
|
|
323
|
+
view.setMinZoomLevel(minZoomLevel);
|
|
324
324
|
}
|
|
325
325
|
|
|
326
326
|
@ReactProp(name = "maxZoomLevel")
|
|
327
327
|
public void setMaxZoomLevel(MapView view, float maxZoomLevel) {
|
|
328
|
-
view.
|
|
328
|
+
view.setMaxZoomLevel(maxZoomLevel);
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
@ReactProp(name = "kmlSrc")
|
|
@@ -32,13 +32,28 @@ import com.facebook.imagepipeline.image.CloseableStaticBitmap;
|
|
|
32
32
|
import com.facebook.imagepipeline.image.ImageInfo;
|
|
33
33
|
import com.facebook.imagepipeline.request.ImageRequest;
|
|
34
34
|
import com.facebook.imagepipeline.request.ImageRequestBuilder;
|
|
35
|
+
import com.facebook.react.bridge.ReactContext;
|
|
35
36
|
import com.facebook.react.bridge.ReadableMap;
|
|
37
|
+
import com.facebook.react.bridge.WritableMap;
|
|
38
|
+
import com.facebook.react.common.MapBuilder;
|
|
39
|
+
import com.facebook.react.uimanager.UIManagerHelper;
|
|
40
|
+
import com.facebook.react.uimanager.events.Event;
|
|
41
|
+
import com.facebook.react.uimanager.events.EventDispatcher;
|
|
42
|
+
import com.google.android.gms.common.images.ImageManager;
|
|
36
43
|
import com.google.android.gms.maps.model.BitmapDescriptor;
|
|
37
44
|
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
|
|
38
45
|
import com.google.android.gms.maps.model.LatLng;
|
|
39
46
|
import com.google.android.gms.maps.model.Marker;
|
|
40
47
|
import com.google.android.gms.maps.model.MarkerOptions;
|
|
41
48
|
import com.google.maps.android.collections.MarkerManager;
|
|
49
|
+
import com.rnmaps.fabric.event.OnDeselectEvent;
|
|
50
|
+
import com.rnmaps.fabric.event.OnDragEndEvent;
|
|
51
|
+
import com.rnmaps.fabric.event.OnDragEvent;
|
|
52
|
+
import com.rnmaps.fabric.event.OnDragStartEvent;
|
|
53
|
+
import com.rnmaps.fabric.event.OnPressEvent;
|
|
54
|
+
import com.rnmaps.fabric.event.OnSelectEvent;
|
|
55
|
+
|
|
56
|
+
import java.util.Map;
|
|
42
57
|
|
|
43
58
|
public class MapMarker extends MapFeature {
|
|
44
59
|
|
|
@@ -80,11 +95,17 @@ public class MapMarker extends MapFeature {
|
|
|
80
95
|
private boolean hasCustomMarkerView = false;
|
|
81
96
|
private final MapMarkerManager markerManager;
|
|
82
97
|
private String imageUri;
|
|
98
|
+
private boolean loadingImage;
|
|
83
99
|
|
|
84
100
|
private final DraweeHolder<?> logoHolder;
|
|
101
|
+
private ImageManager.OnImageLoadedListener imageLoadedListener;
|
|
85
102
|
private DataSource<CloseableReference<CloseableImage>> dataSource;
|
|
86
103
|
private final ControllerListener<ImageInfo> mLogoControllerListener =
|
|
87
104
|
new BaseControllerListener<ImageInfo>() {
|
|
105
|
+
@Override
|
|
106
|
+
public void onSubmit(String id, Object callerContext){
|
|
107
|
+
loadingImage = true;
|
|
108
|
+
}
|
|
88
109
|
@Override
|
|
89
110
|
public void onFinalImageSet(
|
|
90
111
|
String id,
|
|
@@ -116,6 +137,12 @@ public class MapMarker extends MapFeature {
|
|
|
116
137
|
.updateIcon(iconBitmapDescriptor, iconBitmap);
|
|
117
138
|
}
|
|
118
139
|
update(true);
|
|
140
|
+
loadingImage = false;
|
|
141
|
+
if (imageLoadedListener != null){
|
|
142
|
+
imageLoadedListener.onImageLoaded(null, null, false);
|
|
143
|
+
// fire and forget
|
|
144
|
+
imageLoadedListener = null;
|
|
145
|
+
}
|
|
119
146
|
}
|
|
120
147
|
};
|
|
121
148
|
|
|
@@ -143,7 +170,7 @@ public class MapMarker extends MapFeature {
|
|
|
143
170
|
setFlat(options.isFlat());
|
|
144
171
|
setDraggable(options.isDraggable());
|
|
145
172
|
setZIndex(Math.round(options.getZIndex()));
|
|
146
|
-
|
|
173
|
+
setOpacity(options.getAlpha());
|
|
147
174
|
iconBitmapDescriptor = options.getIcon();
|
|
148
175
|
}
|
|
149
176
|
|
|
@@ -155,7 +182,10 @@ public class MapMarker extends MapFeature {
|
|
|
155
182
|
}
|
|
156
183
|
|
|
157
184
|
public void setCoordinate(ReadableMap coordinate) {
|
|
158
|
-
|
|
185
|
+
setCoordinate(new LatLng(coordinate.getDouble("latitude"), coordinate.getDouble("longitude")));
|
|
186
|
+
}
|
|
187
|
+
public void setCoordinate(LatLng position){
|
|
188
|
+
this.position = position;
|
|
159
189
|
if (marker != null) {
|
|
160
190
|
marker.setPosition(position);
|
|
161
191
|
}
|
|
@@ -421,7 +451,6 @@ public class MapMarker extends MapFeature {
|
|
|
421
451
|
updateTracksViewChanges();
|
|
422
452
|
update(true);
|
|
423
453
|
}
|
|
424
|
-
|
|
425
454
|
}
|
|
426
455
|
}
|
|
427
456
|
|
|
@@ -618,8 +647,55 @@ public class MapMarker extends MapFeature {
|
|
|
618
647
|
getContext().getPackageName());
|
|
619
648
|
}
|
|
620
649
|
|
|
650
|
+
public boolean isLoadingImage() {
|
|
651
|
+
return loadingImage;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
public ImageManager.OnImageLoadedListener getImageLoadedListener() {
|
|
655
|
+
return imageLoadedListener;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
public void setImageLoadedListener(ImageManager.OnImageLoadedListener imageLoadedListener) {
|
|
659
|
+
this.imageLoadedListener = imageLoadedListener;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
@FunctionalInterface
|
|
663
|
+
public interface EventCreator<T extends Event> {
|
|
664
|
+
T create(int surfaceId, int viewId, WritableMap payload);
|
|
665
|
+
}
|
|
666
|
+
public <T extends Event> void dispatchEvent(WritableMap payload, MapView.EventCreator<T> creator) {
|
|
667
|
+
// Cast context to ReactContext
|
|
668
|
+
ReactContext reactContext = (ReactContext) context;
|
|
669
|
+
|
|
670
|
+
// Get the event dispatcher
|
|
671
|
+
EventDispatcher eventDispatcher = UIManagerHelper.getEventDispatcherForReactTag(reactContext, getId());
|
|
672
|
+
|
|
673
|
+
// If there is a dispatcher, create and dispatch the event
|
|
674
|
+
if (eventDispatcher != null) {
|
|
675
|
+
int surfaceId = UIManagerHelper.getSurfaceId(reactContext);
|
|
676
|
+
T event = creator.create(surfaceId, getId(), payload);
|
|
677
|
+
eventDispatcher.dispatchEvent(event);
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
621
681
|
private BitmapDescriptor getBitmapDescriptorByName(String name) {
|
|
622
682
|
return BitmapDescriptorFactory.fromResource(getDrawableResourceByName(name));
|
|
623
683
|
}
|
|
624
684
|
|
|
685
|
+
public static Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
|
|
686
|
+
MapBuilder.Builder<String, Object> builder = MapBuilder.builder();
|
|
687
|
+
builder.put(OnSelectEvent.EVENT_NAME, MapBuilder.of("registrationName", OnSelectEvent.EVENT_NAME));
|
|
688
|
+
builder.put(OnDeselectEvent.EVENT_NAME, MapBuilder.of("registrationName", OnDeselectEvent.EVENT_NAME));
|
|
689
|
+
builder.put(OnPressEvent.EVENT_NAME, MapBuilder.of("registrationName", OnPressEvent.EVENT_NAME));
|
|
690
|
+
return builder.build();
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
public static Map<String, Object> getExportedCustomDirectEventTypeConstants() {
|
|
694
|
+
return MapBuilder.of(
|
|
695
|
+
OnDragEvent.EVENT_NAME, MapBuilder.of("registrationName", OnDragEvent.EVENT_NAME),
|
|
696
|
+
OnDragStartEvent.EVENT_NAME, MapBuilder.of("registrationName", OnDragStartEvent.EVENT_NAME),
|
|
697
|
+
OnDragEndEvent.EVENT_NAME, MapBuilder.of("registrationName", OnDragEndEvent.EVENT_NAME)
|
|
698
|
+
);
|
|
699
|
+
}
|
|
700
|
+
|
|
625
701
|
}
|