@lugg/maps 1.0.0-beta.3 → 1.0.0-beta.5

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 (153) hide show
  1. package/README.md +3 -0
  2. package/android/src/main/java/com/luggmaps/LuggCalloutView.kt +4 -2
  3. package/android/src/main/java/com/luggmaps/LuggCalloutViewManager.kt +4 -3
  4. package/android/src/main/java/com/luggmaps/LuggCircleView.kt +85 -0
  5. package/android/src/main/java/com/luggmaps/LuggCircleViewManager.kt +79 -0
  6. package/android/src/main/java/com/luggmaps/LuggGroundOverlayView.kt +81 -0
  7. package/android/src/main/java/com/luggmaps/LuggGroundOverlayViewManager.kt +82 -0
  8. package/android/src/main/java/com/luggmaps/LuggMapView.kt +49 -0
  9. package/android/src/main/java/com/luggmaps/LuggMapViewManager.kt +31 -0
  10. package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +23 -0
  11. package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +13 -0
  12. package/android/src/main/java/com/luggmaps/LuggPackage.kt +4 -1
  13. package/android/src/main/java/com/luggmaps/LuggTileOverlayView.kt +92 -0
  14. package/android/src/main/java/com/luggmaps/LuggTileOverlayViewManager.kt +80 -0
  15. package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +451 -17
  16. package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +14 -0
  17. package/android/src/main/java/com/luggmaps/events/CirclePressEvent.kt +12 -0
  18. package/android/src/main/java/com/luggmaps/events/GroundOverlayPressEvent.kt +12 -0
  19. package/android/src/main/java/com/luggmaps/events/TileOverlayPressEvent.kt +12 -0
  20. package/android/src/main/java/com/luggmaps/extensions/ViewExtensions.kt +11 -0
  21. package/ios/LuggCalloutView.h +1 -1
  22. package/ios/LuggCalloutView.mm +21 -11
  23. package/ios/LuggCircleView.h +31 -0
  24. package/ios/LuggCircleView.mm +133 -0
  25. package/ios/LuggGroundOverlayView.h +30 -0
  26. package/ios/LuggGroundOverlayView.mm +125 -0
  27. package/ios/LuggMapView.mm +84 -2
  28. package/ios/LuggMarkerView.h +3 -0
  29. package/ios/LuggMarkerView.mm +23 -0
  30. package/ios/LuggTileOverlayView.h +31 -0
  31. package/ios/LuggTileOverlayView.mm +130 -0
  32. package/ios/core/AppleMapProvider.mm +595 -17
  33. package/ios/core/GoogleMapProvider.mm +390 -28
  34. package/ios/core/MapProviderDelegate.h +20 -1
  35. package/ios/events/CirclePressEvent.h +20 -0
  36. package/ios/events/GroundOverlayPressEvent.h +20 -0
  37. package/ios/events/TileOverlayPressEvent.h +20 -0
  38. package/lib/module/MapView.js +11 -0
  39. package/lib/module/MapView.js.map +1 -1
  40. package/lib/module/MapView.web.js +3 -0
  41. package/lib/module/MapView.web.js.map +1 -1
  42. package/lib/module/components/Circle.js +46 -0
  43. package/lib/module/components/Circle.js.map +1 -0
  44. package/lib/module/components/Circle.types.js +4 -0
  45. package/lib/module/components/Circle.types.js.map +1 -0
  46. package/lib/module/components/Circle.web.js +79 -0
  47. package/lib/module/components/Circle.web.js.map +1 -0
  48. package/lib/module/components/GroundOverlay.js +45 -0
  49. package/lib/module/components/GroundOverlay.js.map +1 -0
  50. package/lib/module/components/GroundOverlay.types.js +4 -0
  51. package/lib/module/components/GroundOverlay.types.js.map +1 -0
  52. package/lib/module/components/GroundOverlay.web.js +77 -0
  53. package/lib/module/components/GroundOverlay.web.js.map +1 -0
  54. package/lib/module/components/Marker.js +22 -4
  55. package/lib/module/components/Marker.js.map +1 -1
  56. package/lib/module/components/Marker.web.js +20 -7
  57. package/lib/module/components/Marker.web.js.map +1 -1
  58. package/lib/module/components/TileOverlay.js +44 -0
  59. package/lib/module/components/TileOverlay.js.map +1 -0
  60. package/lib/module/components/TileOverlay.types.js +4 -0
  61. package/lib/module/components/TileOverlay.types.js.map +1 -0
  62. package/lib/module/components/TileOverlay.web.js +69 -0
  63. package/lib/module/components/TileOverlay.web.js.map +1 -0
  64. package/lib/module/components/index.js +3 -0
  65. package/lib/module/components/index.js.map +1 -1
  66. package/lib/module/components/index.web.js +3 -0
  67. package/lib/module/components/index.web.js.map +1 -1
  68. package/lib/module/fabric/LuggCalloutViewNativeComponent.ts +1 -1
  69. package/lib/module/fabric/LuggCircleViewNativeComponent.ts +25 -0
  70. package/lib/module/fabric/LuggGroundOverlayViewNativeComponent.ts +29 -0
  71. package/lib/module/fabric/LuggMapViewNativeComponent.ts +9 -1
  72. package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +14 -2
  73. package/lib/module/fabric/LuggTileOverlayViewNativeComponent.ts +30 -0
  74. package/lib/module/index.js +3 -0
  75. package/lib/module/index.js.map +1 -1
  76. package/lib/module/index.web.js +3 -0
  77. package/lib/module/index.web.js.map +1 -1
  78. package/lib/typescript/src/MapView.d.ts.map +1 -1
  79. package/lib/typescript/src/MapView.types.d.ts +36 -1
  80. package/lib/typescript/src/MapView.types.d.ts.map +1 -1
  81. package/lib/typescript/src/MapView.web.d.ts.map +1 -1
  82. package/lib/typescript/src/components/Circle.d.ts +10 -0
  83. package/lib/typescript/src/components/Circle.d.ts.map +1 -0
  84. package/lib/typescript/src/components/Circle.types.d.ts +33 -0
  85. package/lib/typescript/src/components/Circle.types.d.ts.map +1 -0
  86. package/lib/typescript/src/components/Circle.web.d.ts +3 -0
  87. package/lib/typescript/src/components/Circle.web.d.ts.map +1 -0
  88. package/lib/typescript/src/components/GroundOverlay.d.ts +10 -0
  89. package/lib/typescript/src/components/GroundOverlay.d.ts.map +1 -0
  90. package/lib/typescript/src/components/GroundOverlay.types.d.ts +35 -0
  91. package/lib/typescript/src/components/GroundOverlay.types.d.ts.map +1 -0
  92. package/lib/typescript/src/components/GroundOverlay.web.d.ts +3 -0
  93. package/lib/typescript/src/components/GroundOverlay.web.d.ts.map +1 -0
  94. package/lib/typescript/src/components/Marker.d.ts +6 -3
  95. package/lib/typescript/src/components/Marker.d.ts.map +1 -1
  96. package/lib/typescript/src/components/Marker.types.d.ts +18 -6
  97. package/lib/typescript/src/components/Marker.types.d.ts.map +1 -1
  98. package/lib/typescript/src/components/Marker.web.d.ts +3 -2
  99. package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
  100. package/lib/typescript/src/components/TileOverlay.d.ts +10 -0
  101. package/lib/typescript/src/components/TileOverlay.d.ts.map +1 -0
  102. package/lib/typescript/src/components/TileOverlay.types.d.ts +36 -0
  103. package/lib/typescript/src/components/TileOverlay.types.d.ts.map +1 -0
  104. package/lib/typescript/src/components/TileOverlay.web.d.ts +3 -0
  105. package/lib/typescript/src/components/TileOverlay.web.d.ts.map +1 -0
  106. package/lib/typescript/src/components/index.d.ts +7 -1
  107. package/lib/typescript/src/components/index.d.ts.map +1 -1
  108. package/lib/typescript/src/components/index.web.d.ts +6 -0
  109. package/lib/typescript/src/components/index.web.d.ts.map +1 -1
  110. package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts +1 -1
  111. package/lib/typescript/src/fabric/LuggCircleViewNativeComponent.d.ts +18 -0
  112. package/lib/typescript/src/fabric/LuggCircleViewNativeComponent.d.ts.map +1 -0
  113. package/lib/typescript/src/fabric/LuggGroundOverlayViewNativeComponent.d.ts +21 -0
  114. package/lib/typescript/src/fabric/LuggGroundOverlayViewNativeComponent.d.ts.map +1 -0
  115. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts +6 -1
  116. package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -1
  117. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +8 -1
  118. package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
  119. package/lib/typescript/src/fabric/LuggTileOverlayViewNativeComponent.d.ts +21 -0
  120. package/lib/typescript/src/fabric/LuggTileOverlayViewNativeComponent.d.ts.map +1 -0
  121. package/lib/typescript/src/index.d.ts +9 -3
  122. package/lib/typescript/src/index.d.ts.map +1 -1
  123. package/lib/typescript/src/index.web.d.ts +7 -1
  124. package/lib/typescript/src/index.web.d.ts.map +1 -1
  125. package/lib/typescript/src/types.d.ts +0 -4
  126. package/lib/typescript/src/types.d.ts.map +1 -1
  127. package/package.json +5 -2
  128. package/src/MapView.tsx +11 -0
  129. package/src/MapView.types.ts +85 -1
  130. package/src/MapView.web.tsx +11 -0
  131. package/src/components/Circle.tsx +52 -0
  132. package/src/components/Circle.types.ts +33 -0
  133. package/src/components/Circle.web.tsx +93 -0
  134. package/src/components/GroundOverlay.tsx +47 -0
  135. package/src/components/GroundOverlay.types.ts +36 -0
  136. package/src/components/GroundOverlay.web.tsx +85 -0
  137. package/src/components/Marker.tsx +32 -6
  138. package/src/components/Marker.types.ts +19 -6
  139. package/src/components/Marker.web.tsx +191 -148
  140. package/src/components/TileOverlay.tsx +44 -0
  141. package/src/components/TileOverlay.types.ts +37 -0
  142. package/src/components/TileOverlay.web.tsx +95 -0
  143. package/src/components/index.ts +10 -0
  144. package/src/components/index.web.ts +9 -0
  145. package/src/fabric/LuggCalloutViewNativeComponent.ts +1 -1
  146. package/src/fabric/LuggCircleViewNativeComponent.ts +25 -0
  147. package/src/fabric/LuggGroundOverlayViewNativeComponent.ts +29 -0
  148. package/src/fabric/LuggMapViewNativeComponent.ts +9 -1
  149. package/src/fabric/LuggMarkerViewNativeComponent.ts +14 -2
  150. package/src/fabric/LuggTileOverlayViewNativeComponent.ts +30 -0
  151. package/src/index.ts +12 -1
  152. package/src/index.web.ts +15 -0
  153. package/src/types.ts +0 -5
@@ -0,0 +1,92 @@
1
+ package com.luggmaps
2
+
3
+ import android.content.Context
4
+ import com.facebook.react.views.view.ReactViewGroup
5
+ import com.google.android.gms.maps.model.TileOverlay
6
+ import com.luggmaps.events.TileOverlayPressEvent
7
+ import com.luggmaps.extensions.dispatchEvent
8
+
9
+ interface LuggTileOverlayViewDelegate {
10
+ fun tileOverlayViewDidUpdate(tileOverlayView: LuggTileOverlayView)
11
+ }
12
+
13
+ class LuggTileOverlayView(context: Context) : ReactViewGroup(context) {
14
+ var urlTemplate: String = ""
15
+ private set
16
+
17
+ var tileSize: Int = 256
18
+ private set
19
+
20
+ var overlayOpacity: Float = 1f
21
+ private set
22
+
23
+ var hasBounds: Boolean = false
24
+ private set
25
+ var boundsSwLat: Double = 0.0
26
+ private set
27
+ var boundsSwLng: Double = 0.0
28
+ private set
29
+ var boundsNeLat: Double = 0.0
30
+ private set
31
+ var boundsNeLng: Double = 0.0
32
+ private set
33
+
34
+ var zIndex: Float = 0f
35
+ private set
36
+
37
+ var tappable: Boolean = false
38
+ private set
39
+
40
+ var delegate: LuggTileOverlayViewDelegate? = null
41
+ var tileOverlay: TileOverlay? = null
42
+
43
+ init {
44
+ visibility = GONE
45
+ }
46
+
47
+ fun setUrlTemplate(value: String) {
48
+ urlTemplate = value
49
+ }
50
+
51
+ fun setTileSize(value: Int) {
52
+ tileSize = value
53
+ }
54
+
55
+ fun setOverlayOpacity(value: Float) {
56
+ overlayOpacity = value
57
+ }
58
+
59
+ fun setZIndex(value: Float) {
60
+ zIndex = value
61
+ }
62
+
63
+ fun setBounds(swLat: Double, swLng: Double, neLat: Double, neLng: Double) {
64
+ hasBounds = true
65
+ boundsSwLat = swLat
66
+ boundsSwLng = swLng
67
+ boundsNeLat = neLat
68
+ boundsNeLng = neLng
69
+ }
70
+
71
+ fun clearBounds() {
72
+ hasBounds = false
73
+ }
74
+
75
+ fun setTappable(value: Boolean) {
76
+ tappable = value
77
+ }
78
+
79
+ fun emitPressEvent() {
80
+ dispatchEvent(TileOverlayPressEvent(this))
81
+ }
82
+
83
+ fun onAfterUpdateTransaction() {
84
+ delegate?.tileOverlayViewDidUpdate(this)
85
+ }
86
+
87
+ fun onDropViewInstance() {
88
+ delegate = null
89
+ tileOverlay?.remove()
90
+ tileOverlay = null
91
+ }
92
+ }
@@ -0,0 +1,80 @@
1
+ package com.luggmaps
2
+
3
+ import com.facebook.react.bridge.ReadableMap
4
+ import com.facebook.react.module.annotations.ReactModule
5
+ import com.facebook.react.uimanager.ThemedReactContext
6
+ import com.facebook.react.uimanager.ViewGroupManager
7
+ import com.facebook.react.uimanager.ViewManagerDelegate
8
+ import com.facebook.react.uimanager.annotations.ReactProp
9
+ import com.facebook.react.viewmanagers.LuggTileOverlayViewManagerDelegate
10
+ import com.facebook.react.viewmanagers.LuggTileOverlayViewManagerInterface
11
+
12
+ @ReactModule(name = LuggTileOverlayViewManager.NAME)
13
+ class LuggTileOverlayViewManager :
14
+ ViewGroupManager<LuggTileOverlayView>(),
15
+ LuggTileOverlayViewManagerInterface<LuggTileOverlayView> {
16
+ private val delegate: ViewManagerDelegate<LuggTileOverlayView> = LuggTileOverlayViewManagerDelegate(this)
17
+
18
+ override fun getDelegate(): ViewManagerDelegate<LuggTileOverlayView> = delegate
19
+ override fun getName(): String = NAME
20
+ override fun createViewInstance(context: ThemedReactContext): LuggTileOverlayView = LuggTileOverlayView(context)
21
+
22
+ override fun getExportedCustomDirectEventTypeConstants(): Map<String, Any> =
23
+ mapOf("topTileOverlayPress" to mapOf("registrationName" to "onTileOverlayPress"))
24
+
25
+ override fun onDropViewInstance(view: LuggTileOverlayView) {
26
+ super.onDropViewInstance(view)
27
+ view.onDropViewInstance()
28
+ }
29
+
30
+ override fun onAfterUpdateTransaction(view: LuggTileOverlayView) {
31
+ super.onAfterUpdateTransaction(view)
32
+ view.onAfterUpdateTransaction()
33
+ }
34
+
35
+ @ReactProp(name = "urlTemplate")
36
+ override fun setUrlTemplate(view: LuggTileOverlayView, value: String?) {
37
+ view.setUrlTemplate(value ?: "")
38
+ }
39
+
40
+ @ReactProp(name = "tileSize", defaultInt = 256)
41
+ override fun setTileSize(view: LuggTileOverlayView, value: Int) {
42
+ view.setTileSize(value)
43
+ }
44
+
45
+ @ReactProp(name = "opacity", defaultDouble = 1.0)
46
+ override fun setOpacity(view: LuggTileOverlayView, value: Double) {
47
+ view.setOverlayOpacity(value.toFloat())
48
+ }
49
+
50
+ @ReactProp(name = "bounds")
51
+ override fun setBounds(view: LuggTileOverlayView, value: ReadableMap?) {
52
+ if (value == null) {
53
+ view.clearBounds()
54
+ return
55
+ }
56
+ val ne = value.getMap("northeast")
57
+ val sw = value.getMap("southwest")
58
+ view.setBounds(
59
+ sw?.getDouble("latitude") ?: 0.0,
60
+ sw?.getDouble("longitude") ?: 0.0,
61
+ ne?.getDouble("latitude") ?: 0.0,
62
+ ne?.getDouble("longitude") ?: 0.0
63
+ )
64
+ }
65
+
66
+ @ReactProp(name = "tappable")
67
+ override fun setTappable(view: LuggTileOverlayView, value: Boolean) {
68
+ view.setTappable(value)
69
+ }
70
+
71
+ @ReactProp(name = "zIndex", defaultFloat = 0f)
72
+ override fun setZIndex(view: LuggTileOverlayView, value: Float) {
73
+ super.setZIndex(view, value)
74
+ view.setZIndex(value)
75
+ }
76
+
77
+ companion object {
78
+ const val NAME = "LuggTileOverlayView"
79
+ }
80
+ }