react-native-maps 1.21.0-alpha.14 → 1.21.0-alpha.140

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.
Files changed (256) hide show
  1. package/android/build.gradle +73 -53
  2. package/android/gradlew +1 -2
  3. package/android/src/main/RCTAppDependencyProvider.h +25 -0
  4. package/android/src/main/RCTAppDependencyProvider.mm +55 -0
  5. package/android/src/main/RCTModulesConformingToProtocolsProvider.h +18 -0
  6. package/android/src/main/RCTModulesConformingToProtocolsProvider.mm +33 -0
  7. package/android/src/main/RCTThirdPartyComponentsProvider.h +16 -0
  8. package/android/src/main/RCTThirdPartyComponentsProvider.mm +28 -0
  9. package/android/src/main/ReactAppDependencyProvider.podspec +34 -0
  10. package/android/src/main/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
  11. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerDelegate.java +35 -0
  12. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCalloutManagerInterface.java +17 -0
  13. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerDelegate.java +49 -0
  14. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsCircleManagerInterface.java +23 -0
  15. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerDelegate.java +49 -0
  16. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsGooglePolygonManagerInterface.java +23 -0
  17. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +209 -0
  18. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +74 -0
  19. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
  20. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -0
  21. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerDelegate.java +46 -0
  22. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsOverlayManagerInterface.java +23 -0
  23. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerDelegate.java +58 -0
  24. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsPolylineManagerInterface.java +26 -0
  25. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerDelegate.java +62 -0
  26. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsUrlTileManagerInterface.java +27 -0
  27. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerDelegate.java +56 -0
  28. package/android/src/main/java/com/facebook/react/viewmanagers/RNMapsWMSTileManagerInterface.java +25 -0
  29. package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
  30. package/android/src/main/java/com/rnmaps/fabric/CircleManager.java +94 -0
  31. package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
  32. package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +624 -0
  33. package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +258 -0
  34. package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +235 -2
  35. package/android/src/main/java/com/rnmaps/fabric/OverlayManager.java +95 -0
  36. package/android/src/main/java/com/rnmaps/fabric/PolygonManager.java +89 -0
  37. package/android/src/main/java/com/rnmaps/fabric/PolylineManager.java +121 -0
  38. package/android/src/main/java/com/rnmaps/fabric/UrlTileManager.java +124 -0
  39. package/android/src/main/java/com/rnmaps/fabric/WMSTileManager.java +114 -0
  40. package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
  41. package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
  42. package/android/src/main/java/com/rnmaps/fabric/event/OnDoublePressEvent.java +27 -0
  43. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
  44. package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
  45. package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
  46. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorBuildingFocusedEvent.java +28 -0
  47. package/android/src/main/java/com/rnmaps/fabric/event/OnIndoorLevelActivatedEvent.java +28 -0
  48. package/android/src/main/java/com/rnmaps/fabric/event/OnKmlReadyEvent.java +28 -0
  49. package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
  50. package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
  51. package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
  52. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
  53. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
  54. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
  55. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
  56. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
  57. package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
  58. package/android/src/main/java/com/rnmaps/fabric/event/OnPanDragEvent.java +28 -0
  59. package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
  60. package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
  61. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
  62. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
  63. package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
  64. package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
  65. package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
  66. package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +55 -3
  67. package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
  68. package/android/src/main/java/com/rnmaps/maps/MapCircle.java +24 -0
  69. package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
  70. package/android/src/main/java/com/rnmaps/maps/MapMarker.java +637 -556
  71. package/android/src/main/java/com/rnmaps/maps/MapMarkerManager.java +3 -3
  72. package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
  73. package/android/src/main/java/com/rnmaps/maps/MapOverlay.java +267 -151
  74. package/android/src/main/java/com/rnmaps/maps/MapPolygon.java +31 -1
  75. package/android/src/main/java/com/rnmaps/maps/MapPolyline.java +207 -141
  76. package/android/src/main/java/com/rnmaps/maps/MapPolylineManager.java +1 -16
  77. package/android/src/main/java/com/rnmaps/maps/MapUrlTile.java +18 -18
  78. package/android/src/main/java/com/rnmaps/maps/MapUrlTileManager.java +10 -14
  79. package/android/src/main/java/com/rnmaps/maps/MapView.java +1649 -1336
  80. package/android/src/main/java/com/rnmaps/maps/MapWMSTile.java +3 -3
  81. package/android/src/main/java/com/rnmaps/maps/MapWMSTileManager.java +10 -10
  82. package/android/src/main/jni/CMakeLists.txt +36 -0
  83. package/android/src/main/jni/RNMapsSpecs-generated.cpp +68 -0
  84. package/android/src/main/jni/RNMapsSpecs.h +31 -0
  85. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +31 -0
  86. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +33 -0
  87. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +979 -0
  88. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +860 -0
  89. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.cpp +227 -0
  90. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/Props.h +1263 -0
  91. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
  92. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
  93. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +26 -0
  94. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +131 -0
  95. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
  96. package/android/src/main/jni/react/renderer/components/RNMapsSpecs/States.h +137 -0
  97. package/ios/AirGoogleMaps/AIRGoogleMap.h +10 -11
  98. package/ios/AirGoogleMaps/AIRGoogleMap.m +104 -71
  99. package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
  100. package/ios/AirGoogleMaps/AIRGoogleMapManager.h +1 -0
  101. package/ios/AirGoogleMaps/AIRGoogleMapManager.m +254 -250
  102. package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +6 -3
  103. package/ios/AirGoogleMaps/AIRGoogleMapMarkerManager.m +1 -1
  104. package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +3 -0
  105. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
  106. package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
  107. package/ios/AirGoogleMaps/AIRGoogleMapUrlTile.m +2 -2
  108. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
  109. package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +4 -4
  110. package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +1 -1
  111. package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +123 -43
  112. package/ios/AirGoogleMaps/RNMapsGoogleMapViewManager.mm +16 -1
  113. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
  114. package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +217 -0
  115. package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +26 -0
  116. package/ios/AirMaps/AIRMap.h +8 -9
  117. package/ios/AirMaps/AIRMap.m +222 -239
  118. package/ios/AirMaps/AIRMapManager.m +10 -7
  119. package/ios/AirMaps/AIRMapMarker.h +1 -0
  120. package/ios/AirMaps/AIRMapMarker.m +142 -67
  121. package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
  122. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.h +28 -0
  123. package/ios/AirMaps/FabricPlaceholders/PlaceHolderGoogleMapView.mm +68 -0
  124. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.h +25 -0
  125. package/ios/AirMaps/FabricPlaceholders/PlaceHolderPolygonView.mm +43 -0
  126. package/ios/AirMaps/RNMapsAirModule.h +1 -1
  127. package/ios/AirMaps/RNMapsAirModule.mm +4 -3
  128. package/ios/AirMaps/RNMapsDefines.h +1 -0
  129. package/ios/AirMaps/RNMapsMapView.h +1 -1
  130. package/ios/AirMaps/RNMapsMapView.mm +119 -95
  131. package/ios/AirMaps/RNMapsMapViewManager.mm +19 -1
  132. package/ios/AirMaps/RNMapsMarkerView.h +24 -0
  133. package/ios/AirMaps/RNMapsMarkerView.mm +430 -0
  134. package/ios/AirMaps/RNMapsMarkerViewManager.mm +28 -0
  135. package/ios/AirMaps.xcodeproj/project.pbxproj +20 -0
  136. package/ios/generated/RCTAppDependencyProvider.h +25 -0
  137. package/ios/generated/RCTAppDependencyProvider.mm +55 -0
  138. package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
  139. package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
  140. package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
  141. package/ios/generated/RCTThirdPartyComponentsProvider.mm +26 -0
  142. package/ios/{AirMaps → generated}/RNMapsAirModuleDelegate.h +2 -2
  143. package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +29 -0
  144. package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +31 -0
  145. package/ios/generated/RNMapsSpecs/EventEmitters.cpp +977 -0
  146. package/ios/generated/RNMapsSpecs/EventEmitters.h +846 -0
  147. package/ios/generated/RNMapsSpecs/Props.cpp +194 -0
  148. package/ios/generated/RNMapsSpecs/Props.h +1224 -0
  149. package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +591 -0
  150. package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
  151. package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
  152. package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +24 -0
  153. package/ios/generated/RNMapsSpecs/ShadowNodes.h +109 -0
  154. package/ios/generated/RNMapsSpecs/States.cpp +16 -0
  155. package/ios/generated/RNMapsSpecs/States.h +113 -0
  156. package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
  157. package/ios/generated/RNMapsSpecsJSI.h +268 -0
  158. package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
  159. package/package.json +26 -19
  160. package/react-native-google-maps.podspec +26 -0
  161. package/react-native-maps-generated.podspec +31 -0
  162. package/react-native-maps.podspec +55 -15
  163. package/react-native.config.js +16 -0
  164. package/src/AnimatedRegion.ts +169 -0
  165. package/src/Geojson.tsx +541 -0
  166. package/src/MapCallout.tsx +77 -0
  167. package/src/MapCalloutSubview.tsx +64 -0
  168. package/src/MapCircle.tsx +162 -0
  169. package/src/MapHeatmap.tsx +125 -0
  170. package/src/MapLocalTile.tsx +60 -0
  171. package/src/MapMarker.tsx +531 -0
  172. package/src/MapMarkerNativeComponent.ts +51 -0
  173. package/src/MapOverlay.tsx +156 -0
  174. package/src/MapPolygon.tsx +188 -0
  175. package/src/MapPolygon.types.ts +25 -0
  176. package/src/MapPolyline.tsx +215 -0
  177. package/src/MapUrlTile.tsx +169 -0
  178. package/src/MapView.tsx +1230 -0
  179. package/src/MapView.types.ts +212 -0
  180. package/src/MapView.web.ts +2 -0
  181. package/src/MapViewNativeComponent.ts +86 -0
  182. package/src/MapWMSTile.tsx +148 -0
  183. package/src/ProviderConstants.ts +2 -0
  184. package/src/createFabricMap.tsx +253 -0
  185. package/src/decorateMapComponent.ts +227 -0
  186. package/src/fixImageProp.ts +17 -0
  187. package/src/index.ts +52 -0
  188. package/src/sharedTypes.ts +101 -0
  189. package/src/specs/NativeAirMapsModule.ts +36 -0
  190. package/src/specs/NativeComponentCallout.ts +63 -0
  191. package/src/specs/NativeComponentCircle.ts +93 -0
  192. package/src/specs/NativeComponentGoogleMapView.ts +922 -0
  193. package/src/specs/NativeComponentGooglePolygon.ts +94 -0
  194. package/src/specs/NativeComponentMapView.ts +1100 -0
  195. package/src/specs/NativeComponentMarker.ts +326 -0
  196. package/src/specs/NativeComponentOverlay.ts +89 -0
  197. package/src/specs/NativeComponentPolyline.ts +124 -0
  198. package/src/specs/NativeComponentUrlTile.ts +128 -0
  199. package/src/specs/NativeComponentWMSTile.ts +107 -0
  200. package/lib/AnimatedRegion.d.ts +0 -19
  201. package/lib/AnimatedRegion.js +0 -134
  202. package/lib/Geojson.d.ts +0 -204
  203. package/lib/Geojson.js +0 -166
  204. package/lib/MapCallout.d.ts +0 -40
  205. package/lib/MapCallout.js +0 -51
  206. package/lib/MapCalloutSubview.d.ts +0 -34
  207. package/lib/MapCalloutSubview.js +0 -48
  208. package/lib/MapCircle.d.ts +0 -117
  209. package/lib/MapCircle.js +0 -53
  210. package/lib/MapHeatmap.d.ts +0 -78
  211. package/lib/MapHeatmap.js +0 -59
  212. package/lib/MapLocalTile.d.ts +0 -35
  213. package/lib/MapLocalTile.js +0 -44
  214. package/lib/MapMarker.d.ts +0 -309
  215. package/lib/MapMarker.js +0 -116
  216. package/lib/MapMarkerNativeComponent.d.ts +0 -15
  217. package/lib/MapMarkerNativeComponent.js +0 -17
  218. package/lib/MapOverlay.d.ts +0 -87
  219. package/lib/MapOverlay.js +0 -63
  220. package/lib/MapPolygon.d.ts +0 -140
  221. package/lib/MapPolygon.js +0 -53
  222. package/lib/MapPolygon.types.d.ts +0 -18
  223. package/lib/MapPolygon.types.js +0 -2
  224. package/lib/MapPolyline.d.ts +0 -156
  225. package/lib/MapPolyline.js +0 -53
  226. package/lib/MapUrlTile.d.ts +0 -134
  227. package/lib/MapUrlTile.js +0 -44
  228. package/lib/MapView.d.ts +0 -715
  229. package/lib/MapView.js +0 -447
  230. package/lib/MapView.types.d.ts +0 -161
  231. package/lib/MapView.types.js +0 -2
  232. package/lib/MapView.web.d.ts +0 -1
  233. package/lib/MapView.web.js +0 -9
  234. package/lib/MapViewNativeComponent.d.ts +0 -18
  235. package/lib/MapViewNativeComponent.js +0 -19
  236. package/lib/MapWMSTile.d.ts +0 -116
  237. package/lib/MapWMSTile.js +0 -44
  238. package/lib/ProviderConstants.d.ts +0 -2
  239. package/lib/ProviderConstants.js +0 -5
  240. package/lib/createFabricMap.d.ts +0 -23
  241. package/lib/createFabricMap.js +0 -175
  242. package/lib/decorateMapComponent.d.ts +0 -36
  243. package/lib/decorateMapComponent.js +0 -80
  244. package/lib/index.d.ts +0 -38
  245. package/lib/index.js +0 -81
  246. package/lib/sharedTypes.d.ts +0 -81
  247. package/lib/sharedTypes.js +0 -2
  248. package/lib/sharedTypesInternal.js +0 -2
  249. package/lib/specs/NativeAirMapsModule.d.ts +0 -31
  250. package/lib/specs/NativeAirMapsModule.js +0 -4
  251. package/lib/specs/NativeComponentGoogleMapView.d.ts +0 -713
  252. package/lib/specs/NativeComponentGoogleMapView.js +0 -21
  253. package/lib/specs/NativeComponentMapView.d.ts +0 -855
  254. package/lib/specs/NativeComponentMapView.js +0 -21
  255. /package/ios/{AirMaps → generated}/RNMapsHostVewDelegate.h +0 -0
  256. /package/{lib/sharedTypesInternal.d.ts → src/sharedTypesInternal.ts} +0 -0
@@ -4,161 +4,227 @@ import android.content.Context;
4
4
 
5
5
  import com.facebook.react.bridge.ReadableArray;
6
6
  import com.facebook.react.bridge.ReadableMap;
7
+ import com.facebook.react.common.MapBuilder;
8
+ import com.google.android.gms.maps.model.ButtCap;
7
9
  import com.google.android.gms.maps.model.Cap;
8
10
  import com.google.android.gms.maps.model.Dash;
9
11
  import com.google.android.gms.maps.model.Dot;
10
12
  import com.google.android.gms.maps.model.Gap;
13
+ import com.google.android.gms.maps.model.JointType;
11
14
  import com.google.android.gms.maps.model.LatLng;
12
15
  import com.google.android.gms.maps.model.PatternItem;
13
16
  import com.google.android.gms.maps.model.Polyline;
14
17
  import com.google.android.gms.maps.model.PolylineOptions;
15
18
  import com.google.android.gms.maps.model.RoundCap;
19
+ import com.google.android.gms.maps.model.SquareCap;
20
+ import com.google.android.gms.maps.model.StrokeStyle;
21
+ import com.google.android.gms.maps.model.StyleSpan;
16
22
  import com.google.maps.android.collections.PolylineManager;
23
+ import com.rnmaps.fabric.event.OnPressEvent;
17
24
 
18
25
  import java.util.ArrayList;
19
26
  import java.util.List;
27
+ import java.util.Map;
20
28
 
21
29
  public class MapPolyline extends MapFeature {
22
30
 
23
- private PolylineOptions polylineOptions;
24
- private Polyline polyline;
25
-
26
- private List<LatLng> coordinates;
27
- private int color;
28
- private float width;
29
- private boolean tappable;
30
- private boolean geodesic;
31
- private float zIndex;
32
- private Cap lineCap = new RoundCap();
33
- private ReadableArray patternValues;
34
- private List<PatternItem> pattern;
35
-
36
- public MapPolyline(Context context) {
37
- super(context);
38
- }
39
-
40
- public void setCoordinates(ReadableArray coordinates) {
41
- this.coordinates = new ArrayList<>(coordinates.size());
42
- for (int i = 0; i < coordinates.size(); i++) {
43
- ReadableMap coordinate = coordinates.getMap(i);
44
- this.coordinates.add(i,
45
- new LatLng(coordinate.getDouble("latitude"), coordinate.getDouble("longitude")));
46
- }
47
- if (polyline != null) {
48
- polyline.setPoints(this.coordinates);
49
- }
50
- }
51
-
52
- public void setColor(int color) {
53
- this.color = color;
54
- if (polyline != null) {
55
- polyline.setColor(color);
56
- }
57
- }
58
-
59
- public void setWidth(float width) {
60
- this.width = width;
61
- if (polyline != null) {
62
- polyline.setWidth(width);
63
- }
64
- }
65
-
66
- public void setZIndex(float zIndex) {
67
- this.zIndex = zIndex;
68
- if (polyline != null) {
69
- polyline.setZIndex(zIndex);
70
- }
71
- }
72
-
73
- public void setTappable(boolean tapabble) {
74
- this.tappable = tapabble;
75
- if (polyline != null) {
76
- polyline.setClickable(tappable);
77
- }
78
- }
79
-
80
- public void setGeodesic(boolean geodesic) {
81
- this.geodesic = geodesic;
82
- if (polyline != null) {
83
- polyline.setGeodesic(geodesic);
84
- }
85
- }
86
-
87
- public void setLineCap(Cap cap) {
88
- this.lineCap = cap;
89
- if (polyline != null) {
90
- polyline.setStartCap(cap);
91
- polyline.setEndCap(cap);
92
- }
93
- this.applyPattern();
94
- }
95
-
96
- public void setLineDashPattern(ReadableArray patternValues) {
97
- this.patternValues = patternValues;
98
- this.applyPattern();
99
- }
100
-
101
- private void applyPattern() {
102
- if(patternValues == null) {
103
- return;
104
- }
105
- this.pattern = new ArrayList<>(patternValues.size());
106
- for (int i = 0; i < patternValues.size(); i++) {
107
- float patternValue = (float) patternValues.getDouble(i);
108
- boolean isGap = i % 2 != 0;
109
- if(isGap) {
110
- this.pattern.add(new Gap(patternValue));
111
- }else {
112
- PatternItem patternItem;
113
- boolean isLineCapRound = this.lineCap instanceof RoundCap;
114
- if(isLineCapRound) {
115
- patternItem = new Dot();
116
- }else {
117
- patternItem = new Dash(patternValue);
118
- }
119
- this.pattern.add(patternItem);
120
- }
121
- }
122
- if(polyline != null) {
123
- polyline.setPattern(this.pattern);
124
- }
125
- }
126
-
127
- public PolylineOptions getPolylineOptions() {
128
- if (polylineOptions == null) {
129
- polylineOptions = createPolylineOptions();
130
- }
131
- return polylineOptions;
132
- }
133
-
134
- private PolylineOptions createPolylineOptions() {
135
- PolylineOptions options = new PolylineOptions();
136
- options.addAll(coordinates);
137
- options.color(color);
138
- options.width(width);
139
- options.geodesic(geodesic);
140
- options.zIndex(zIndex);
141
- options.startCap(lineCap);
142
- options.endCap(lineCap);
143
- options.pattern(this.pattern);
144
- return options;
145
- }
146
-
147
- @Override
148
- public Object getFeature() {
149
- return polyline;
150
- }
151
-
152
- @Override
153
- public void addToMap(Object collection) {
154
- PolylineManager.Collection polylineCollection = (PolylineManager.Collection) collection;
155
- polyline = polylineCollection.addPolyline(getPolylineOptions());
156
- polyline.setClickable(this.tappable);
157
- }
158
-
159
- @Override
160
- public void removeFromMap(Object collection) {
161
- PolylineManager.Collection polylineCollection = (PolylineManager.Collection) collection;
162
- polylineCollection.remove(polyline);
163
- }
31
+ private PolylineOptions polylineOptions;
32
+ private Polyline polyline;
33
+
34
+ private List<LatLng> coordinates;
35
+ private int color;
36
+ private float width;
37
+ private boolean tappable;
38
+ private boolean geodesic;
39
+ private float zIndex;
40
+ private Cap lineCap = new RoundCap();
41
+ private ReadableArray patternValues;
42
+ private List<PatternItem> pattern;
43
+
44
+ public MapPolyline(Context context) {
45
+ super(context);
46
+ }
47
+
48
+ public void setCoordinates(ReadableArray coordinates) {
49
+ this.coordinates = new ArrayList<>(coordinates.size());
50
+ for (int i = 0; i < coordinates.size(); i++) {
51
+ ReadableMap coordinate = coordinates.getMap(i);
52
+ this.coordinates.add(i,
53
+ new LatLng(coordinate.getDouble("latitude"), coordinate.getDouble("longitude")));
54
+ }
55
+ if (polyline != null) {
56
+ polyline.setPoints(this.coordinates);
57
+ }
58
+ }
59
+
60
+ public void setColor(int color) {
61
+ this.color = color;
62
+ if (polyline != null) {
63
+ polyline.setColor(color);
64
+ }
65
+ }
66
+
67
+ public void setStrokeColors(ReadableArray strokeColors) {
68
+ List<StyleSpan> spans = new ArrayList<>();
69
+ for (int i = 0; i < strokeColors.size(); i++) {
70
+ StrokeStyle stroke;
71
+
72
+ if (i == 0) {
73
+ stroke = StrokeStyle.colorBuilder(strokeColors.getInt(i)).build();
74
+ } else {
75
+ stroke = StrokeStyle.gradientBuilder(strokeColors.getInt(i - 1), strokeColors.getInt(i)).build();
76
+ }
77
+ spans.add(new StyleSpan(stroke));
78
+ }
79
+
80
+ polyline.setSpans(spans);
81
+ }
82
+
83
+ public void setWidth(float width) {
84
+ this.width = width;
85
+ if (polyline != null) {
86
+ polyline.setWidth(width);
87
+ }
88
+ }
89
+
90
+ public void setZIndex(float zIndex) {
91
+ this.zIndex = zIndex;
92
+ if (polyline != null) {
93
+ polyline.setZIndex(zIndex);
94
+ }
95
+ }
96
+
97
+ public void setTappable(boolean tapabble) {
98
+ this.tappable = tapabble;
99
+ if (polyline != null) {
100
+ polyline.setClickable(tappable);
101
+ }
102
+ }
103
+
104
+ public void setGeodesic(boolean geodesic) {
105
+ this.geodesic = geodesic;
106
+ if (polyline != null) {
107
+ polyline.setGeodesic(geodesic);
108
+ }
109
+ }
110
+
111
+ public void setLineCap(Cap cap) {
112
+ this.lineCap = cap;
113
+ if (polyline != null) {
114
+ polyline.setStartCap(cap);
115
+ polyline.setEndCap(cap);
116
+ }
117
+ this.applyPattern();
118
+ }
119
+
120
+ public void setLineDashPattern(ReadableArray patternValues) {
121
+ this.patternValues = patternValues;
122
+ this.applyPattern();
123
+ }
124
+
125
+ private void applyPattern() {
126
+ if (patternValues == null) {
127
+ return;
128
+ }
129
+ this.pattern = new ArrayList<>(patternValues.size());
130
+ for (int i = 0; i < patternValues.size(); i++) {
131
+ float patternValue = (float) patternValues.getDouble(i);
132
+ boolean isGap = i % 2 != 0;
133
+ if (isGap) {
134
+ this.pattern.add(new Gap(patternValue));
135
+ } else {
136
+ PatternItem patternItem;
137
+ boolean isLineCapRound = this.lineCap instanceof RoundCap;
138
+ if (isLineCapRound) {
139
+ patternItem = new Dot();
140
+ } else {
141
+ patternItem = new Dash(patternValue);
142
+ }
143
+ this.pattern.add(patternItem);
144
+ }
145
+ }
146
+ if (polyline != null) {
147
+ polyline.setPattern(this.pattern);
148
+ }
149
+ }
150
+
151
+ public PolylineOptions getPolylineOptions() {
152
+ if (polylineOptions == null) {
153
+ polylineOptions = createPolylineOptions();
154
+ }
155
+ return polylineOptions;
156
+ }
157
+
158
+ private PolylineOptions createPolylineOptions() {
159
+ PolylineOptions options = new PolylineOptions();
160
+ options.addAll(coordinates);
161
+ options.color(color);
162
+ options.width(width);
163
+ options.geodesic(geodesic);
164
+ options.zIndex(zIndex);
165
+ options.startCap(lineCap);
166
+ options.endCap(lineCap);
167
+ options.pattern(this.pattern);
168
+ return options;
169
+ }
170
+
171
+ @Override
172
+ public Object getFeature() {
173
+ return polyline;
174
+ }
175
+
176
+ @Override
177
+ public void addToMap(Object collection) {
178
+ PolylineManager.Collection polylineCollection = (PolylineManager.Collection) collection;
179
+ polyline = polylineCollection.addPolyline(getPolylineOptions());
180
+ polyline.setClickable(this.tappable);
181
+ }
182
+
183
+ @Override
184
+ public void removeFromMap(Object collection) {
185
+ PolylineManager.Collection polylineCollection = (PolylineManager.Collection) collection;
186
+ polylineCollection.remove(polyline);
187
+ }
188
+
189
+ public void setLineCap(String lineCap) {
190
+ Cap cap;
191
+ switch (lineCap) {
192
+ case "round":
193
+ cap = new RoundCap();
194
+ break;
195
+ case "square":
196
+ cap = new SquareCap();
197
+ break;
198
+ case "butt":
199
+ default:
200
+ cap = new ButtCap();
201
+ break;
202
+ }
203
+ setLineCap(cap);
204
+ }
205
+
206
+ public static Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
207
+ MapBuilder.Builder<String, Object> builder = MapBuilder.builder();
208
+ builder.put(OnPressEvent.EVENT_NAME, MapBuilder.of("registrationName", OnPressEvent.EVENT_NAME));
209
+ return builder.build();
210
+ }
211
+
212
+ public void setLineJoin(String lineJoin) {
213
+ int type;
214
+ switch (lineJoin) {
215
+ case "round":
216
+ type = JointType.ROUND;
217
+ break;
218
+ case "bevel":
219
+ type = JointType.BEVEL;
220
+ break;
221
+ case "miter":
222
+ default:
223
+ type = JointType.DEFAULT;
224
+ break;
225
+ }
226
+ if (polyline != null) {
227
+ polyline.setJointType(type);
228
+ }
229
+ }
164
230
  }
@@ -74,22 +74,7 @@ public class MapPolylineManager extends ViewGroupManager<MapPolyline> {
74
74
 
75
75
  @ReactProp(name = "lineCap")
76
76
  public void setlineCap(MapPolyline view, String lineCap) {
77
- Cap cap = null;
78
- switch (lineCap) {
79
- case "butt":
80
- cap = new ButtCap();
81
- break;
82
- case "round":
83
- cap = new RoundCap();
84
- break;
85
- case "square":
86
- cap = new SquareCap();
87
- break;
88
- default:
89
- cap = new RoundCap();
90
- break;
91
- }
92
- view.setLineCap(cap);
77
+ view.setLineCap(lineCap);
93
78
  }
94
79
 
95
80
  @ReactProp(name = "lineDashPattern")
@@ -18,14 +18,14 @@ public class MapUrlTile extends MapFeature {
18
18
 
19
19
  protected String urlTemplate;
20
20
  protected float zIndex;
21
- protected float maximumZ;
22
- protected float maximumNativeZ = 100;
23
- protected float minimumZ;
21
+ protected int maximumZ;
22
+ protected int maximumNativeZ = 100;
23
+ protected int minimumZ;
24
24
  protected boolean flipY = false;
25
- protected float tileSize = 256;
25
+ protected int tileSize = 256;
26
26
  protected boolean doubleTileSize = false;
27
27
  protected String tileCachePath;
28
- protected float tileCacheMaxAge;
28
+ protected int tileCacheMaxAge;
29
29
  protected boolean offlineMode = false;
30
30
  protected float opacity = 1;
31
31
  protected Context context;
@@ -53,20 +53,20 @@ public class MapUrlTile extends MapFeature {
53
53
  }
54
54
  }
55
55
 
56
- public void setMaximumZ(float maximumZ) {
56
+ public void setMaximumZ(int maximumZ) {
57
57
  this.maximumZ = maximumZ;
58
58
  if (tileProvider != null) {
59
- tileProvider.setMaximumZ((int)maximumZ);
59
+ tileProvider.setMaximumZ(maximumZ);
60
60
  }
61
61
  if (tileOverlay != null) {
62
62
  tileOverlay.clearTileCache();
63
63
  }
64
64
  }
65
65
 
66
- public void setMaximumNativeZ(float maximumNativeZ) {
66
+ public void setMaximumNativeZ(int maximumNativeZ) {
67
67
  this.maximumNativeZ = maximumNativeZ;
68
68
  if (tileProvider != null) {
69
- tileProvider.setMaximumNativeZ((int)maximumNativeZ);
69
+ tileProvider.setMaximumNativeZ(maximumNativeZ);
70
70
  }
71
71
  setCustomTileProviderMode();
72
72
  if (tileOverlay != null) {
@@ -74,10 +74,10 @@ public class MapUrlTile extends MapFeature {
74
74
  }
75
75
  }
76
76
 
77
- public void setMinimumZ(float minimumZ) {
77
+ public void setMinimumZ(int minimumZ) {
78
78
  this.minimumZ = minimumZ;
79
79
  if (tileProvider != null) {
80
- tileProvider.setMinimumZ((int)minimumZ);
80
+ tileProvider.setMinimumZ(minimumZ);
81
81
  }
82
82
  if (tileOverlay != null) {
83
83
  tileOverlay.clearTileCache();
@@ -105,10 +105,10 @@ public class MapUrlTile extends MapFeature {
105
105
  }
106
106
  }
107
107
 
108
- public void setTileSize(float tileSize) {
108
+ public void setTileSize(int tileSize) {
109
109
  this.tileSize = tileSize;
110
110
  if (tileProvider != null) {
111
- tileProvider.setTileSize((int)tileSize);
111
+ tileProvider.setTileSize(tileSize);
112
112
  }
113
113
  if (tileOverlay != null) {
114
114
  tileOverlay.clearTileCache();
@@ -136,10 +136,10 @@ public class MapUrlTile extends MapFeature {
136
136
  }
137
137
  }
138
138
 
139
- public void setTileCacheMaxAge(float tileCacheMaxAge) {
139
+ public void setTileCacheMaxAge(int tileCacheMaxAge) {
140
140
  this.tileCacheMaxAge = tileCacheMaxAge;
141
141
  if (tileProvider != null) {
142
- tileProvider.setTileCacheMaxAge((int)tileCacheMaxAge);
142
+ tileProvider.setTileCacheMaxAge(tileCacheMaxAge);
143
143
  }
144
144
  if (tileOverlay != null) {
145
145
  tileOverlay.clearTileCache();
@@ -176,7 +176,7 @@ public class MapUrlTile extends MapFeature {
176
176
  if (tileProvider != null) {
177
177
  tileProvider.setCustomMode();
178
178
  }
179
- }
179
+ }
180
180
 
181
181
  protected TileOverlayOptions createTileOverlayOptions() {
182
182
  Log.d("urlTile ", "creating TileProvider");
@@ -184,8 +184,8 @@ public class MapUrlTile extends MapFeature {
184
184
  options.zIndex(zIndex);
185
185
  options.transparency(1 - this.opacity);
186
186
  this.tileProvider = new MapTileProvider((int)this.tileSize, this.doubleTileSize, this.urlTemplate,
187
- (int)this.maximumZ, (int)this.maximumNativeZ, (int)this.minimumZ, this.flipY, this.tileCachePath,
188
- (int)this.tileCacheMaxAge, this.offlineMode, this.context, this.customTileProviderNeeded);
187
+ this.maximumZ, this.maximumNativeZ, this.minimumZ, this.flipY, this.tileCachePath,
188
+ this.tileCacheMaxAge, this.offlineMode, this.context, this.customTileProviderNeeded);
189
189
  options.tileProvider(this.tileProvider);
190
190
  return options;
191
191
  }
@@ -13,10 +13,6 @@ public class MapUrlTileManager extends ViewGroupManager<MapUrlTile> {
13
13
 
14
14
  public MapUrlTileManager(ReactApplicationContext reactContext) {
15
15
  super();
16
- DisplayMetrics metrics = new DisplayMetrics();
17
- ((WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE))
18
- .getDefaultDisplay()
19
- .getRealMetrics(metrics);
20
16
  }
21
17
 
22
18
  @Override
@@ -39,18 +35,18 @@ public class MapUrlTileManager extends ViewGroupManager<MapUrlTile> {
39
35
  view.setZIndex(zIndex);
40
36
  }
41
37
 
42
- @ReactProp(name = "minimumZ", defaultFloat = 0.0f)
43
- public void setMinimumZ(MapUrlTile view, float minimumZ) {
38
+ @ReactProp(name = "minimumZ", defaultInt = 0)
39
+ public void setMinimumZ(MapUrlTile view, int minimumZ) {
44
40
  view.setMinimumZ(minimumZ);
45
41
  }
46
42
 
47
- @ReactProp(name = "maximumZ", defaultFloat = 100.0f)
48
- public void setMaximumZ(MapUrlTile view, float maximumZ) {
43
+ @ReactProp(name = "maximumZ", defaultInt = 100)
44
+ public void setMaximumZ(MapUrlTile view, int maximumZ) {
49
45
  view.setMaximumZ(maximumZ);
50
46
  }
51
47
 
52
- @ReactProp(name = "maximumNativeZ", defaultFloat = 100.0f)
53
- public void setMaximumNativeZ(MapUrlTile view, float maximumNativeZ) {
48
+ @ReactProp(name = "maximumNativeZ", defaultInt = 100)
49
+ public void setMaximumNativeZ(MapUrlTile view, int maximumNativeZ) {
54
50
  view.setMaximumNativeZ(maximumNativeZ);
55
51
  }
56
52
 
@@ -59,8 +55,8 @@ public class MapUrlTileManager extends ViewGroupManager<MapUrlTile> {
59
55
  view.setFlipY(flipY);
60
56
  }
61
57
 
62
- @ReactProp(name = "tileSize", defaultFloat = 256.0f)
63
- public void setTileSize(MapUrlTile view, float tileSize) {
58
+ @ReactProp(name = "tileSize", defaultInt = 256)
59
+ public void setTileSize(MapUrlTile view, int tileSize) {
64
60
  view.setTileSize(tileSize);
65
61
  }
66
62
 
@@ -74,8 +70,8 @@ public class MapUrlTileManager extends ViewGroupManager<MapUrlTile> {
74
70
  view.setTileCachePath(tileCachePath);
75
71
  }
76
72
 
77
- @ReactProp(name = "tileCacheMaxAge", defaultFloat = 0.0f)
78
- public void setTileCacheMaxAge(MapUrlTile view, float tileCacheMaxAge) {
73
+ @ReactProp(name = "tileCacheMaxAge", defaultInt = 0)
74
+ public void setTileCacheMaxAge(MapUrlTile view, int tileCacheMaxAge) {
79
75
  view.setTileCacheMaxAge(tileCacheMaxAge);
80
76
  }
81
77