@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.
- package/README.md +3 -0
- package/android/src/main/java/com/luggmaps/LuggCalloutView.kt +4 -2
- package/android/src/main/java/com/luggmaps/LuggCalloutViewManager.kt +4 -3
- package/android/src/main/java/com/luggmaps/LuggCircleView.kt +85 -0
- package/android/src/main/java/com/luggmaps/LuggCircleViewManager.kt +79 -0
- package/android/src/main/java/com/luggmaps/LuggGroundOverlayView.kt +81 -0
- package/android/src/main/java/com/luggmaps/LuggGroundOverlayViewManager.kt +82 -0
- package/android/src/main/java/com/luggmaps/LuggMapView.kt +49 -0
- package/android/src/main/java/com/luggmaps/LuggMapViewManager.kt +31 -0
- package/android/src/main/java/com/luggmaps/LuggMarkerView.kt +23 -0
- package/android/src/main/java/com/luggmaps/LuggMarkerViewManager.kt +13 -0
- package/android/src/main/java/com/luggmaps/LuggPackage.kt +4 -1
- package/android/src/main/java/com/luggmaps/LuggTileOverlayView.kt +92 -0
- package/android/src/main/java/com/luggmaps/LuggTileOverlayViewManager.kt +80 -0
- package/android/src/main/java/com/luggmaps/core/GoogleMapProvider.kt +451 -17
- package/android/src/main/java/com/luggmaps/core/MapProviderDelegate.kt +14 -0
- package/android/src/main/java/com/luggmaps/events/CirclePressEvent.kt +12 -0
- package/android/src/main/java/com/luggmaps/events/GroundOverlayPressEvent.kt +12 -0
- package/android/src/main/java/com/luggmaps/events/TileOverlayPressEvent.kt +12 -0
- package/android/src/main/java/com/luggmaps/extensions/ViewExtensions.kt +11 -0
- package/ios/LuggCalloutView.h +1 -1
- package/ios/LuggCalloutView.mm +21 -11
- package/ios/LuggCircleView.h +31 -0
- package/ios/LuggCircleView.mm +133 -0
- package/ios/LuggGroundOverlayView.h +30 -0
- package/ios/LuggGroundOverlayView.mm +125 -0
- package/ios/LuggMapView.mm +84 -2
- package/ios/LuggMarkerView.h +3 -0
- package/ios/LuggMarkerView.mm +23 -0
- package/ios/LuggTileOverlayView.h +31 -0
- package/ios/LuggTileOverlayView.mm +130 -0
- package/ios/core/AppleMapProvider.mm +595 -17
- package/ios/core/GoogleMapProvider.mm +390 -28
- package/ios/core/MapProviderDelegate.h +20 -1
- package/ios/events/CirclePressEvent.h +20 -0
- package/ios/events/GroundOverlayPressEvent.h +20 -0
- package/ios/events/TileOverlayPressEvent.h +20 -0
- package/lib/module/MapView.js +11 -0
- package/lib/module/MapView.js.map +1 -1
- package/lib/module/MapView.web.js +3 -0
- package/lib/module/MapView.web.js.map +1 -1
- package/lib/module/components/Circle.js +46 -0
- package/lib/module/components/Circle.js.map +1 -0
- package/lib/module/components/Circle.types.js +4 -0
- package/lib/module/components/Circle.types.js.map +1 -0
- package/lib/module/components/Circle.web.js +79 -0
- package/lib/module/components/Circle.web.js.map +1 -0
- package/lib/module/components/GroundOverlay.js +45 -0
- package/lib/module/components/GroundOverlay.js.map +1 -0
- package/lib/module/components/GroundOverlay.types.js +4 -0
- package/lib/module/components/GroundOverlay.types.js.map +1 -0
- package/lib/module/components/GroundOverlay.web.js +77 -0
- package/lib/module/components/GroundOverlay.web.js.map +1 -0
- package/lib/module/components/Marker.js +22 -4
- package/lib/module/components/Marker.js.map +1 -1
- package/lib/module/components/Marker.web.js +20 -7
- package/lib/module/components/Marker.web.js.map +1 -1
- package/lib/module/components/TileOverlay.js +44 -0
- package/lib/module/components/TileOverlay.js.map +1 -0
- package/lib/module/components/TileOverlay.types.js +4 -0
- package/lib/module/components/TileOverlay.types.js.map +1 -0
- package/lib/module/components/TileOverlay.web.js +69 -0
- package/lib/module/components/TileOverlay.web.js.map +1 -0
- package/lib/module/components/index.js +3 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/index.web.js +3 -0
- package/lib/module/components/index.web.js.map +1 -1
- package/lib/module/fabric/LuggCalloutViewNativeComponent.ts +1 -1
- package/lib/module/fabric/LuggCircleViewNativeComponent.ts +25 -0
- package/lib/module/fabric/LuggGroundOverlayViewNativeComponent.ts +29 -0
- package/lib/module/fabric/LuggMapViewNativeComponent.ts +9 -1
- package/lib/module/fabric/LuggMarkerViewNativeComponent.ts +14 -2
- package/lib/module/fabric/LuggTileOverlayViewNativeComponent.ts +30 -0
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +3 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/typescript/src/MapView.d.ts.map +1 -1
- package/lib/typescript/src/MapView.types.d.ts +36 -1
- package/lib/typescript/src/MapView.types.d.ts.map +1 -1
- package/lib/typescript/src/MapView.web.d.ts.map +1 -1
- package/lib/typescript/src/components/Circle.d.ts +10 -0
- package/lib/typescript/src/components/Circle.d.ts.map +1 -0
- package/lib/typescript/src/components/Circle.types.d.ts +33 -0
- package/lib/typescript/src/components/Circle.types.d.ts.map +1 -0
- package/lib/typescript/src/components/Circle.web.d.ts +3 -0
- package/lib/typescript/src/components/Circle.web.d.ts.map +1 -0
- package/lib/typescript/src/components/GroundOverlay.d.ts +10 -0
- package/lib/typescript/src/components/GroundOverlay.d.ts.map +1 -0
- package/lib/typescript/src/components/GroundOverlay.types.d.ts +35 -0
- package/lib/typescript/src/components/GroundOverlay.types.d.ts.map +1 -0
- package/lib/typescript/src/components/GroundOverlay.web.d.ts +3 -0
- package/lib/typescript/src/components/GroundOverlay.web.d.ts.map +1 -0
- package/lib/typescript/src/components/Marker.d.ts +6 -3
- package/lib/typescript/src/components/Marker.d.ts.map +1 -1
- package/lib/typescript/src/components/Marker.types.d.ts +18 -6
- package/lib/typescript/src/components/Marker.types.d.ts.map +1 -1
- package/lib/typescript/src/components/Marker.web.d.ts +3 -2
- package/lib/typescript/src/components/Marker.web.d.ts.map +1 -1
- package/lib/typescript/src/components/TileOverlay.d.ts +10 -0
- package/lib/typescript/src/components/TileOverlay.d.ts.map +1 -0
- package/lib/typescript/src/components/TileOverlay.types.d.ts +36 -0
- package/lib/typescript/src/components/TileOverlay.types.d.ts.map +1 -0
- package/lib/typescript/src/components/TileOverlay.web.d.ts +3 -0
- package/lib/typescript/src/components/TileOverlay.web.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +7 -1
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/components/index.web.d.ts +6 -0
- package/lib/typescript/src/components/index.web.d.ts.map +1 -1
- package/lib/typescript/src/fabric/LuggCalloutViewNativeComponent.d.ts +1 -1
- package/lib/typescript/src/fabric/LuggCircleViewNativeComponent.d.ts +18 -0
- package/lib/typescript/src/fabric/LuggCircleViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/fabric/LuggGroundOverlayViewNativeComponent.d.ts +21 -0
- package/lib/typescript/src/fabric/LuggGroundOverlayViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts +6 -1
- package/lib/typescript/src/fabric/LuggMapViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts +8 -1
- package/lib/typescript/src/fabric/LuggMarkerViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/fabric/LuggTileOverlayViewNativeComponent.d.ts +21 -0
- package/lib/typescript/src/fabric/LuggTileOverlayViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +9 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/index.web.d.ts +7 -1
- package/lib/typescript/src/index.web.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +0 -4
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +5 -2
- package/src/MapView.tsx +11 -0
- package/src/MapView.types.ts +85 -1
- package/src/MapView.web.tsx +11 -0
- package/src/components/Circle.tsx +52 -0
- package/src/components/Circle.types.ts +33 -0
- package/src/components/Circle.web.tsx +93 -0
- package/src/components/GroundOverlay.tsx +47 -0
- package/src/components/GroundOverlay.types.ts +36 -0
- package/src/components/GroundOverlay.web.tsx +85 -0
- package/src/components/Marker.tsx +32 -6
- package/src/components/Marker.types.ts +19 -6
- package/src/components/Marker.web.tsx +191 -148
- package/src/components/TileOverlay.tsx +44 -0
- package/src/components/TileOverlay.types.ts +37 -0
- package/src/components/TileOverlay.web.tsx +95 -0
- package/src/components/index.ts +10 -0
- package/src/components/index.web.ts +9 -0
- package/src/fabric/LuggCalloutViewNativeComponent.ts +1 -1
- package/src/fabric/LuggCircleViewNativeComponent.ts +25 -0
- package/src/fabric/LuggGroundOverlayViewNativeComponent.ts +29 -0
- package/src/fabric/LuggMapViewNativeComponent.ts +9 -1
- package/src/fabric/LuggMarkerViewNativeComponent.ts +14 -2
- package/src/fabric/LuggTileOverlayViewNativeComponent.ts +30 -0
- package/src/index.ts +12 -1
- package/src/index.web.ts +15 -0
- 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
|
+
}
|