@react-native-ohos/react-native-amap3d 3.2.5-rc.1 → 3.2.6-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/harmony/rn_amap3d/index.ets +2 -0
- package/harmony/rn_amap3d/obfuscation-rules.txt +5 -1
- package/harmony/rn_amap3d/oh-package.json5 +5 -4
- package/harmony/rn_amap3d/src/main/cpp/AMap3dEventEmitRequestHandler.h +105 -94
- package/harmony/rn_amap3d/src/main/cpp/AMapEventEmitters.cpp +22 -12
- package/harmony/rn_amap3d/src/main/cpp/AMapEventEmitters.h +4 -1
- package/harmony/rn_amap3d/src/main/cpp/MapViewJSIBinder.h +40 -20
- package/harmony/rn_amap3d/src/main/cpp/MapViewPackage.h +6 -3
- package/harmony/rn_amap3d/src/main/cpp/Props.cpp +5 -5
- package/harmony/rn_amap3d/src/main/cpp/Props.h +14 -11
- package/harmony/rn_amap3d/src/main/cpp/ShadowNodes.cpp +7 -7
- package/harmony/rn_amap3d/src/main/cpp/ShadowNodes.h +14 -14
- package/harmony/rn_amap3d/src/main/ets/AMap3DModule.ts +52 -4
- package/harmony/rn_amap3d/src/main/ets/{AMap3DPackage.ts → AMap3DPackage.ets} +40 -9
- package/harmony/rn_amap3d/src/main/ets/DownloadIcon.ets +172 -0
- package/harmony/rn_amap3d/src/main/ets/View/AMapCircle.ets +2 -2
- package/harmony/rn_amap3d/src/main/ets/View/AMapMarker.ets +2 -2
- package/harmony/rn_amap3d/src/main/ets/View/AMapPolygon.ets +4 -2
- package/harmony/rn_amap3d/src/main/ets/View/AMapPolyline.ets +2 -2
- package/harmony/rn_amap3d/src/main/ets/View/MapView.ets +138 -61
- package/harmony/rn_amap3d/{ts.ts → ts.ets} +1 -1
- package/harmony/rn_amap3d.har +0 -0
- package/lib/src/map-view.tsx +2 -2
- package/lib/src/{map-viewNativeComponent.ts → map-viewNativeComponent.tsx} +6 -11
- package/package.json +10 -4
- package/harmony/rn_amap3d/BuildProfile.ets +0 -6
- /package/lib/src/{circleNativeComponent.ts → circleNativeComponent.tsx} +0 -0
- /package/lib/src/{heat-mapNativeComponent.ts → heat-mapNativeComponent.tsx} +0 -0
- /package/lib/src/{markerNativeComponent.ts → markerNativeComponent.tsx} +0 -0
- /package/lib/src/{multi-pointNativeComponent.ts → multi-pointNativeComponent.tsx} +0 -0
- /package/lib/src/{polygonNativeComponent.ts → polygonNativeComponent.tsx} +0 -0
- /package/lib/src/{polylineNativeComponent.ts → polylineNativeComponent.tsx} +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# @react-native-ohos/react-native-amap3d
|
|
2
|
-
This project is based on [react-native-amap3d](https://github.com/qiuxiang/react-native-amap3d)
|
|
2
|
+
This project is based on [react-native-amap3d@3.2.4](https://github.com/qiuxiang/react-native-amap3d/tree/v3.2.4)
|
|
3
3
|
## Documentation
|
|
4
4
|
[中文](https://gitee.com/react-native-oh-library/usage-docs/tree/master/zh-cn/react-native-amap3d.md)
|
|
5
5
|
|
|
@@ -22,9 +22,11 @@
|
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
+
import { AMap3DPackage as MapViewPackage } from './src/main/ets/AMap3DPackage'
|
|
25
26
|
export * from "./src/main/ets/View/MapView";
|
|
26
27
|
export * from "./src/main/ets/View/AMapCircle";
|
|
27
28
|
export * from "./src/main/ets/View/AMapMarker";
|
|
28
29
|
export * from "./src/main/ets/View/AMapPolygon";
|
|
29
30
|
export * from "./src/main/ets/View/AMapPolyline";
|
|
30
31
|
export * from "./ts";
|
|
32
|
+
export default MapViewPackage
|
|
@@ -15,4 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
# Keep options:
|
|
17
17
|
# -keep-property-name: specifies property names that you want to keep
|
|
18
|
-
# -keep-global-name: specifies names that you want to keep in the global scope
|
|
18
|
+
# -keep-global-name: specifies names that you want to keep in the global scope
|
|
19
|
+
-enable-property-obfuscation
|
|
20
|
+
-enable-toplevel-obfuscation
|
|
21
|
+
-enable-filename-obfuscation
|
|
22
|
+
-enable-export-obfuscation
|
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
"devDependencies": {
|
|
4
4
|
},
|
|
5
5
|
"name": "@react-native-ohos/react-native-amap3d",
|
|
6
|
-
"version": "3.2.
|
|
6
|
+
"version": "3.2.6-rc.1",
|
|
7
7
|
"description": "Please describe the basic information.",
|
|
8
8
|
"main": "index.ets",
|
|
9
9
|
"author": "",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@rnoh/react-native-openharmony": "
|
|
13
|
-
"@amap/amap_lbs_map3d": "2.1
|
|
14
|
-
"@amap/amap_lbs_common": ">=1.
|
|
12
|
+
"@rnoh/react-native-openharmony": "0.72.82",
|
|
13
|
+
"@amap/amap_lbs_map3d": "2.2.1",
|
|
14
|
+
"@amap/amap_lbs_common": ">=1.2.0",
|
|
15
|
+
"@amap/amap_lbs_location": "^1.2.2"
|
|
15
16
|
}
|
|
16
17
|
}
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
|
+
#ifndef AMAP3D_EVENT_EMIT_REQUEST_HANDLER_h
|
|
25
|
+
#define AMAP3D_EVENT_EMIT_REQUEST_HANDLER_h
|
|
26
|
+
|
|
24
27
|
#pragma once
|
|
25
28
|
#include "RNOH/ArkJS.h"
|
|
26
29
|
#include "RNOH/EventEmitRequestHandler.h"
|
|
@@ -43,7 +46,8 @@ enum class AMapViewEventType {
|
|
|
43
46
|
|
|
44
47
|
enum class AMapMarkerEventType { RNC_ONPress = 0, RNC_ONDragStart = 2, RNC_ONDrag = 3, RNC_ONDragEnd = 4 };
|
|
45
48
|
|
|
46
|
-
AMapViewEventType getAMapViewEventType(ArkJS &arkJs, napi_value eventObject)
|
|
49
|
+
AMapViewEventType getAMapViewEventType(ArkJS &arkJs, napi_value eventObject)
|
|
50
|
+
{
|
|
47
51
|
auto eventType = arkJs.getString(arkJs.getObjectProperty(eventObject, "type"));
|
|
48
52
|
if (eventType == "onPress") {
|
|
49
53
|
return AMapViewEventType::RNC_ONPress;
|
|
@@ -62,7 +66,8 @@ AMapViewEventType getAMapViewEventType(ArkJS &arkJs, napi_value eventObject) {
|
|
|
62
66
|
}
|
|
63
67
|
}
|
|
64
68
|
|
|
65
|
-
AMapMarkerEventType getAMapMarkerEventType(ArkJS &arkJs, napi_value eventObject)
|
|
69
|
+
AMapMarkerEventType getAMapMarkerEventType(ArkJS &arkJs, napi_value eventObject)
|
|
70
|
+
{
|
|
66
71
|
auto eventType = arkJs.getString(arkJs.getObjectProperty(eventObject, "type"));
|
|
67
72
|
if (eventType == "onPress") {
|
|
68
73
|
return AMapMarkerEventType::RNC_ONPress;
|
|
@@ -79,7 +84,8 @@ AMapMarkerEventType getAMapMarkerEventType(ArkJS &arkJs, napi_value eventObject)
|
|
|
79
84
|
|
|
80
85
|
class AMapViewEventEmitRequestHandler : public EventEmitRequestHandler {
|
|
81
86
|
public:
|
|
82
|
-
void handleEvent(EventEmitRequestHandler::Context const &ctx) override
|
|
87
|
+
void handleEvent(EventEmitRequestHandler::Context const &ctx) override
|
|
88
|
+
{
|
|
83
89
|
LOG(INFO) << "AMapViewEventEmitRequestHandler AMapViewEventType::RNC_ONLoad entry";
|
|
84
90
|
if (ctx.eventName != "AMapView") {
|
|
85
91
|
return;
|
|
@@ -91,75 +97,78 @@ public:
|
|
|
91
97
|
}
|
|
92
98
|
LOG(INFO) << "AMapViewEventEmitRequestHandler AMapViewEventType eventEmitter not nullptr";
|
|
93
99
|
switch (getAMapViewEventType(arkJs, ctx.payload)) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
100
|
+
case AMapViewEventType::RNC_ONPress: {
|
|
101
|
+
RNOHNapiObject target = arkJs.getObject((arkJs.getObjectProperty(ctx.payload, "LatLng")));
|
|
102
|
+
double latitude = (double)arkJs.getDouble(target.getProperty("latitude"));
|
|
103
|
+
double longitude = (double)arkJs.getDouble(target.getProperty("longitude"));
|
|
104
|
+
facebook::react::MapViewEventEmitter::onPressEvent event{latitude, longitude};
|
|
105
|
+
eventEmitter->onPress(event);
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case AMapViewEventType::RNC_ONPressPoi: {
|
|
109
|
+
RNOHNapiObject Poi = arkJs.getObject((arkJs.getObjectProperty(ctx.payload, "Poi")));
|
|
110
|
+
std::string id = (std::string)arkJs.getString(Poi.getProperty("poiid"));
|
|
111
|
+
std::string name = (std::string)arkJs.getString(Poi.getProperty("name"));
|
|
112
|
+
RNOHNapiObject latLngObject = arkJs.getObject(Poi.getProperty("coordinate"));
|
|
113
|
+
double latitude = (double)arkJs.getDouble(latLngObject.getProperty("latitude"));
|
|
114
|
+
double longitude = (double)arkJs.getDouble(latLngObject.getProperty("longitude"));
|
|
115
|
+
facebook::react::MapViewEventEmitter::LatLng latLngC{latitude, longitude};
|
|
116
|
+
facebook::react::MapViewEventEmitter::onMapPoiEvent event{id, name, latLngC};
|
|
117
|
+
eventEmitter->onPressPoi(event);
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
case AMapViewEventType::RNC_ONLongPress: {
|
|
121
|
+
RNOHNapiObject target = arkJs.getObject((arkJs.getObjectProperty(ctx.payload, "LatLng")));
|
|
122
|
+
double latitude = (double)arkJs.getDouble(target.getProperty("latitude"));
|
|
123
|
+
double longitude = (double)arkJs.getDouble(target.getProperty("longitude"));
|
|
124
|
+
facebook::react::MapViewEventEmitter::onLongPressEvent event{latitude, longitude};
|
|
125
|
+
eventEmitter->onLongPress(event);
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case AMapViewEventType::RNC_ONCameraMove: {
|
|
129
|
+
RNOHNapiObject cameraPosition = arkJs.getObject((arkJs.getObjectProperty(ctx.payload,
|
|
130
|
+
"CameraPosition")));
|
|
131
|
+
double zoom = (double)arkJs.getDouble(cameraPosition.getProperty("zoom"));
|
|
132
|
+
double bearing = (double)arkJs.getDouble(cameraPosition.getProperty("bearing"));
|
|
133
|
+
double tilt = (double)arkJs.getDouble(cameraPosition.getProperty("tilt"));
|
|
134
|
+
RNOHNapiObject target = arkJs.getObject(cameraPosition.getProperty("target"));
|
|
135
|
+
double latitude = (double)arkJs.getDouble(target.getProperty("latitude"));
|
|
136
|
+
double longitude = (double)arkJs.getDouble(target.getProperty("longitude"));
|
|
137
|
+
facebook::react::MapViewEventEmitter::LatLng targetL{latitude, longitude};
|
|
138
|
+
facebook::react::MapViewEventEmitter::CameraPosition event{targetL, zoom, bearing, tilt};
|
|
139
|
+
eventEmitter->onCameraMove(event);
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case AMapViewEventType::RNC_ONCameraIdle: {
|
|
143
|
+
RNOHNapiObject cameraPosition = arkJs.getObject((arkJs.getObjectProperty(ctx.payload,
|
|
144
|
+
"CameraPosition")));
|
|
145
|
+
double zoom = (double)arkJs.getDouble(cameraPosition.getProperty("zoom"));
|
|
146
|
+
double bearing = (double)arkJs.getDouble(cameraPosition.getProperty("bearing"));
|
|
147
|
+
double tilt = (double)arkJs.getDouble(cameraPosition.getProperty("tilt"));
|
|
148
|
+
RNOHNapiObject target = arkJs.getObject(cameraPosition.getProperty("target"));
|
|
149
|
+
double latitude = (double)arkJs.getDouble(target.getProperty("latitude"));
|
|
150
|
+
double longitude = (double)arkJs.getDouble(target.getProperty("longitude"));
|
|
151
|
+
facebook::react::MapViewEventEmitter::LatLng targetL{latitude, longitude};
|
|
152
|
+
facebook::react::MapViewEventEmitter::CameraPosition event{targetL, zoom, bearing, tilt};
|
|
153
|
+
eventEmitter->onCameraIdle(event);
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
case AMapViewEventType::RNC_ONLoad: {
|
|
157
|
+
LOG(INFO) << "AMapViewEventEmitRequestHandler AMapViewEventType::RNC_ONLoad entry";
|
|
158
|
+
facebook::react::MapViewEventEmitter::onLoadEvent event{};
|
|
159
|
+
eventEmitter->onLoad(event);
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
default:
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
157
165
|
};
|
|
158
166
|
};
|
|
159
167
|
|
|
160
168
|
class AMapMarkerEventEmitRequestHandler : public EventEmitRequestHandler {
|
|
161
169
|
public:
|
|
162
|
-
void handleEvent(EventEmitRequestHandler::Context const &ctx) override
|
|
170
|
+
void handleEvent(EventEmitRequestHandler::Context const &ctx) override
|
|
171
|
+
{
|
|
163
172
|
if (ctx.eventName != "AMapMarker") {
|
|
164
173
|
return;
|
|
165
174
|
}
|
|
@@ -170,38 +179,39 @@ public:
|
|
|
170
179
|
}
|
|
171
180
|
|
|
172
181
|
switch (getAMapMarkerEventType(arkJs, ctx.payload)) {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
182
|
+
case AMapMarkerEventType::RNC_ONPress: {
|
|
183
|
+
facebook::react::MarkerEventEmitter::onPressEvent event{};
|
|
184
|
+
eventEmitter->onPress(event);
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
case AMapMarkerEventType::RNC_ONDragStart: {
|
|
188
|
+
facebook::react::MarkerEventEmitter::onDragStartEvent event{};
|
|
189
|
+
eventEmitter->onDragStart(event);
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
case AMapMarkerEventType::RNC_ONDrag: {
|
|
193
|
+
facebook::react::MarkerEventEmitter::onDragEvent event{};
|
|
194
|
+
eventEmitter->onDrag(event);
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
case AMapMarkerEventType::RNC_ONDragEnd: {
|
|
198
|
+
RNOHNapiObject target = arkJs.getObject((arkJs.getObjectProperty(ctx.payload, "LatLng")));
|
|
199
|
+
double latitude = (double)arkJs.getDouble(target.getProperty("latitude"));
|
|
200
|
+
double longitude = (double)arkJs.getDouble(target.getProperty("longitude"));
|
|
201
|
+
facebook::react::MarkerEventEmitter::onDragEndEvent event{latitude, longitude};
|
|
202
|
+
eventEmitter->onDragEnd(event);
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
default:
|
|
206
|
+
break;
|
|
198
207
|
}
|
|
199
208
|
};
|
|
200
209
|
};
|
|
201
210
|
|
|
202
211
|
class AMapPolylineEventEmitRequestHandler : public EventEmitRequestHandler {
|
|
203
212
|
public:
|
|
204
|
-
void handleEvent(EventEmitRequestHandler::Context const &ctx) override
|
|
213
|
+
void handleEvent(EventEmitRequestHandler::Context const &ctx) override
|
|
214
|
+
{
|
|
205
215
|
if (ctx.eventName != "AMapPolyline") {
|
|
206
216
|
return;
|
|
207
217
|
}
|
|
@@ -215,4 +225,5 @@ public:
|
|
|
215
225
|
};
|
|
216
226
|
};
|
|
217
227
|
|
|
218
|
-
} // namespace rnoh
|
|
228
|
+
} // namespace rnoh
|
|
229
|
+
#endif
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
|
|
26
26
|
namespace facebook {
|
|
27
27
|
namespace react {
|
|
28
|
-
void MapViewEventEmitter::onPress(struct onPressEvent event) const
|
|
29
|
-
|
|
28
|
+
void MapViewEventEmitter::onPress(struct onPressEvent event) const
|
|
29
|
+
{
|
|
30
30
|
dispatchEvent("Press", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
31
31
|
auto payload = jsi::Object(runtime);
|
|
32
32
|
payload.setProperty(runtime, "latitude", event.latitude);
|
|
@@ -34,7 +34,8 @@ void MapViewEventEmitter::onPress(struct onPressEvent event) const {
|
|
|
34
34
|
return payload;
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
|
-
void MapViewEventEmitter::onPressPoi(struct onMapPoiEvent event) const
|
|
37
|
+
void MapViewEventEmitter::onPressPoi(struct onMapPoiEvent event) const
|
|
38
|
+
{
|
|
38
39
|
dispatchEvent("PressPoi", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
39
40
|
auto payload = jsi::Object(runtime);
|
|
40
41
|
payload.setProperty(runtime, "id", event.id);
|
|
@@ -47,7 +48,8 @@ void MapViewEventEmitter::onPressPoi(struct onMapPoiEvent event) const {
|
|
|
47
48
|
});
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
void MapViewEventEmitter::onLongPress(struct onLongPressEvent event) const
|
|
51
|
+
void MapViewEventEmitter::onLongPress(struct onLongPressEvent event) const
|
|
52
|
+
{
|
|
51
53
|
dispatchEvent("LongPress", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
52
54
|
auto payload = jsi::Object(runtime);
|
|
53
55
|
payload.setProperty(runtime, "latitude", event.latitude);
|
|
@@ -56,7 +58,8 @@ void MapViewEventEmitter::onLongPress(struct onLongPressEvent event) const {
|
|
|
56
58
|
});
|
|
57
59
|
}
|
|
58
60
|
|
|
59
|
-
void MapViewEventEmitter::onCameraMove(struct CameraPosition event) const
|
|
61
|
+
void MapViewEventEmitter::onCameraMove(struct CameraPosition event) const
|
|
62
|
+
{
|
|
60
63
|
dispatchEvent("CameraMove", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
61
64
|
auto payload = jsi::Object(runtime);
|
|
62
65
|
payload.setProperty(runtime, "zoom", event.zoom);
|
|
@@ -70,7 +73,8 @@ void MapViewEventEmitter::onCameraMove(struct CameraPosition event) const {
|
|
|
70
73
|
});
|
|
71
74
|
}
|
|
72
75
|
|
|
73
|
-
void MapViewEventEmitter::onCameraIdle(struct CameraPosition event) const
|
|
76
|
+
void MapViewEventEmitter::onCameraIdle(struct CameraPosition event) const
|
|
77
|
+
{
|
|
74
78
|
dispatchEvent("CameraIdle", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
75
79
|
auto payload = jsi::Object(runtime);
|
|
76
80
|
payload.setProperty(runtime, "zoom", event.zoom);
|
|
@@ -84,7 +88,8 @@ void MapViewEventEmitter::onCameraIdle(struct CameraPosition event) const {
|
|
|
84
88
|
});
|
|
85
89
|
}
|
|
86
90
|
|
|
87
|
-
void MapViewEventEmitter::onLoad(struct onLoadEvent event) const
|
|
91
|
+
void MapViewEventEmitter::onLoad(struct onLoadEvent event) const
|
|
92
|
+
{
|
|
88
93
|
dispatchEvent("Load", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
89
94
|
auto payload = jsi::Object(runtime);
|
|
90
95
|
return payload;
|
|
@@ -92,28 +97,32 @@ void MapViewEventEmitter::onLoad(struct onLoadEvent event) const {
|
|
|
92
97
|
}
|
|
93
98
|
|
|
94
99
|
|
|
95
|
-
void MarkerEventEmitter::onPress(struct onPressEvent event) const
|
|
100
|
+
void MarkerEventEmitter::onPress(struct onPressEvent event) const
|
|
101
|
+
{
|
|
96
102
|
dispatchEvent("Press", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
97
103
|
auto payload = jsi::Object(runtime);
|
|
98
104
|
return payload;
|
|
99
105
|
});
|
|
100
106
|
}
|
|
101
107
|
|
|
102
|
-
void MarkerEventEmitter::onDragStart(struct onDragStartEvent event) const
|
|
108
|
+
void MarkerEventEmitter::onDragStart(struct onDragStartEvent event) const
|
|
109
|
+
{
|
|
103
110
|
dispatchEvent("DragStart", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
104
111
|
auto payload = jsi::Object(runtime);
|
|
105
112
|
return payload;
|
|
106
113
|
});
|
|
107
114
|
}
|
|
108
115
|
|
|
109
|
-
void MarkerEventEmitter::onDrag(struct onDragEvent event) const
|
|
116
|
+
void MarkerEventEmitter::onDrag(struct onDragEvent event) const
|
|
117
|
+
{
|
|
110
118
|
dispatchEvent("Drag", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
111
119
|
auto payload = jsi::Object(runtime);
|
|
112
120
|
return payload;
|
|
113
121
|
});
|
|
114
122
|
}
|
|
115
123
|
|
|
116
|
-
void MarkerEventEmitter::onDragEnd(struct onDragEndEvent event) const
|
|
124
|
+
void MarkerEventEmitter::onDragEnd(struct onDragEndEvent event) const
|
|
125
|
+
{
|
|
117
126
|
dispatchEvent("DragEnd", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
118
127
|
auto payload = jsi::Object(runtime);
|
|
119
128
|
payload.setProperty(runtime, "latitude", event.latitude);
|
|
@@ -122,7 +131,8 @@ void MarkerEventEmitter::onDragEnd(struct onDragEndEvent event) const {
|
|
|
122
131
|
});
|
|
123
132
|
}
|
|
124
133
|
|
|
125
|
-
void PolylineEventEmitter::onPress(struct onPressEvent event) const
|
|
134
|
+
void PolylineEventEmitter::onPress(struct onPressEvent event) const
|
|
135
|
+
{
|
|
126
136
|
dispatchEvent("Press", [event = std::move(event)](jsi::Runtime &runtime) {
|
|
127
137
|
auto payload = jsi::Object(runtime);
|
|
128
138
|
return payload;
|
|
@@ -21,6 +21,8 @@
|
|
|
21
21
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
22
|
* SOFTWARE.
|
|
23
23
|
*/
|
|
24
|
+
#ifndef AMAPEVENTEMITTERS_H
|
|
25
|
+
#define AMAPEVENTEMITTERS_H
|
|
24
26
|
|
|
25
27
|
#pragma once
|
|
26
28
|
#include "react/renderer/components/view/ViewEventEmitter.h"
|
|
@@ -108,4 +110,5 @@ public:
|
|
|
108
110
|
using ViewEventEmitter::ViewEventEmitter;
|
|
109
111
|
};
|
|
110
112
|
} // namespace react
|
|
111
|
-
} // namespace facebook
|
|
113
|
+
} // namespace facebook
|
|
114
|
+
#endif
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
namespace rnoh {
|
|
6
6
|
class MapViewJSIBinder : public ViewComponentJSIBinder {
|
|
7
|
-
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
7
|
+
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
8
|
+
{
|
|
8
9
|
auto object = ViewComponentJSIBinder::createNativeProps(rt);
|
|
9
10
|
object.setProperty(rt, "mapType", "number");
|
|
10
11
|
object.setProperty(rt, "initialCameraPosition", "Object");
|
|
@@ -30,7 +31,8 @@ class MapViewJSIBinder : public ViewComponentJSIBinder {
|
|
|
30
31
|
{
|
|
31
32
|
return facebook::jsi::Object(rt);
|
|
32
33
|
}
|
|
33
|
-
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
34
|
+
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
35
|
+
{
|
|
34
36
|
facebook::jsi::Object events(rt);
|
|
35
37
|
events.setProperty(rt, "topPress", createDirectEvent(rt, "onPress"));
|
|
36
38
|
events.setProperty(rt, "topPressPoi", createDirectEvent(rt, "onPressPoi"));
|
|
@@ -43,7 +45,8 @@ class MapViewJSIBinder : public ViewComponentJSIBinder {
|
|
|
43
45
|
};
|
|
44
46
|
|
|
45
47
|
class CircleJSIBinder : public ViewComponentJSIBinder {
|
|
46
|
-
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
48
|
+
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
49
|
+
{
|
|
47
50
|
auto object = ViewComponentJSIBinder::createNativeProps(rt);
|
|
48
51
|
object.setProperty(rt, "center", "Object");
|
|
49
52
|
object.setProperty(rt, "strokeColor", "number");
|
|
@@ -53,50 +56,59 @@ class CircleJSIBinder : public ViewComponentJSIBinder {
|
|
|
53
56
|
object.setProperty(rt, "zIndex", "number");
|
|
54
57
|
return object;
|
|
55
58
|
}
|
|
56
|
-
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
59
|
+
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
60
|
+
{
|
|
57
61
|
return facebook::jsi::Object(rt);
|
|
58
62
|
}
|
|
59
|
-
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
63
|
+
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
64
|
+
{
|
|
60
65
|
facebook::jsi::Object events(rt);
|
|
61
66
|
return events;
|
|
62
67
|
}
|
|
63
68
|
};
|
|
64
69
|
|
|
65
70
|
class HeatMapJSIBinder : public ViewComponentJSIBinder {
|
|
66
|
-
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
71
|
+
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
72
|
+
{
|
|
67
73
|
auto object = ViewComponentJSIBinder::createNativeProps(rt);
|
|
68
74
|
object.setProperty(rt, "data", "array");
|
|
69
75
|
object.setProperty(rt, "radius", "number");
|
|
70
76
|
object.setProperty(rt, "opacity", "number");
|
|
71
77
|
return object;
|
|
72
78
|
}
|
|
73
|
-
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
79
|
+
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
80
|
+
{
|
|
74
81
|
return facebook::jsi::Object(rt);
|
|
75
82
|
}
|
|
76
|
-
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
83
|
+
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
84
|
+
{
|
|
77
85
|
facebook::jsi::Object events(rt);
|
|
78
86
|
return events;
|
|
79
87
|
}
|
|
80
88
|
};
|
|
81
89
|
|
|
82
90
|
class MultipointJSIBinder : public ViewComponentJSIBinder {
|
|
83
|
-
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
91
|
+
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
92
|
+
{
|
|
84
93
|
auto object = ViewComponentJSIBinder::createNativeProps(rt);
|
|
85
94
|
object.setProperty(rt, "items", "array");
|
|
86
95
|
object.setProperty(rt, "icon", "Object");
|
|
87
96
|
return object;
|
|
88
97
|
}
|
|
89
|
-
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
98
|
+
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
99
|
+
{
|
|
90
100
|
return facebook::jsi::Object(rt);
|
|
91
101
|
}
|
|
92
|
-
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
102
|
+
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
103
|
+
{
|
|
93
104
|
facebook::jsi::Object events(rt);
|
|
94
105
|
return events;
|
|
95
106
|
}
|
|
96
107
|
};
|
|
97
108
|
|
|
98
109
|
class MarkerJSIBinder : public ViewComponentJSIBinder {
|
|
99
|
-
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
110
|
+
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
111
|
+
{
|
|
100
112
|
auto object = ViewComponentJSIBinder::createNativeProps(rt);
|
|
101
113
|
object.setProperty(rt, "position", "Object");
|
|
102
114
|
object.setProperty(rt, "opacity", "number");
|
|
@@ -109,10 +121,12 @@ class MarkerJSIBinder : public ViewComponentJSIBinder {
|
|
|
109
121
|
return object;
|
|
110
122
|
}
|
|
111
123
|
|
|
112
|
-
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
124
|
+
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
125
|
+
{
|
|
113
126
|
return facebook::jsi::Object(rt);
|
|
114
127
|
}
|
|
115
|
-
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
128
|
+
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
129
|
+
{
|
|
116
130
|
facebook::jsi::Object events(rt);
|
|
117
131
|
events.setProperty(rt, "topPress", createDirectEvent(rt, "onPress"));
|
|
118
132
|
events.setProperty(rt, "topDragStart", createDirectEvent(rt, "onDragStart"));
|
|
@@ -123,7 +137,8 @@ class MarkerJSIBinder : public ViewComponentJSIBinder {
|
|
|
123
137
|
};
|
|
124
138
|
|
|
125
139
|
class PolygonJSIBinder : public ViewComponentJSIBinder {
|
|
126
|
-
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
140
|
+
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
141
|
+
{
|
|
127
142
|
auto object = ViewComponentJSIBinder::createNativeProps(rt);
|
|
128
143
|
object.setProperty(rt, "points", "array");
|
|
129
144
|
object.setProperty(rt, "strokeWidth", "number");
|
|
@@ -132,17 +147,20 @@ class PolygonJSIBinder : public ViewComponentJSIBinder {
|
|
|
132
147
|
object.setProperty(rt, "zIndex", "number");
|
|
133
148
|
return object;
|
|
134
149
|
}
|
|
135
|
-
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
150
|
+
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
151
|
+
{
|
|
136
152
|
return facebook::jsi::Object(rt);
|
|
137
153
|
}
|
|
138
|
-
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
154
|
+
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
155
|
+
{
|
|
139
156
|
facebook::jsi::Object events(rt);
|
|
140
157
|
return events;
|
|
141
158
|
}
|
|
142
159
|
};
|
|
143
160
|
|
|
144
161
|
class PolylineJSIBinder : public ViewComponentJSIBinder {
|
|
145
|
-
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
162
|
+
facebook::jsi::Object createNativeProps(facebook::jsi::Runtime &rt) override
|
|
163
|
+
{
|
|
146
164
|
auto object = ViewComponentJSIBinder::createNativeProps(rt);
|
|
147
165
|
object.setProperty(rt, "points", "array");
|
|
148
166
|
object.setProperty(rt, "dotted", "boolean");
|
|
@@ -154,10 +172,12 @@ class PolylineJSIBinder : public ViewComponentJSIBinder {
|
|
|
154
172
|
object.setProperty(rt, "width", "number");
|
|
155
173
|
return object;
|
|
156
174
|
}
|
|
157
|
-
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
175
|
+
facebook::jsi::Object createBubblingEventTypes(facebook::jsi::Runtime &rt) override
|
|
176
|
+
{
|
|
158
177
|
return facebook::jsi::Object(rt);
|
|
159
178
|
}
|
|
160
|
-
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
179
|
+
facebook::jsi::Object createDirectEventTypes(facebook::jsi::Runtime &rt) override
|
|
180
|
+
{
|
|
161
181
|
facebook::jsi::Object events(rt);
|
|
162
182
|
events.setProperty(rt, "topPress", createDirectEvent(rt, "onPress"));
|
|
163
183
|
return events;
|
|
@@ -12,7 +12,8 @@ namespace rnoh {
|
|
|
12
12
|
class MapViewPackage : public Package {
|
|
13
13
|
public:
|
|
14
14
|
MapViewPackage(Package::Context ctx) : Package(ctx) {}
|
|
15
|
-
std::vector<facebook::react::ComponentDescriptorProvider> createComponentDescriptorProviders() override
|
|
15
|
+
std::vector<facebook::react::ComponentDescriptorProvider> createComponentDescriptorProviders() override
|
|
16
|
+
{
|
|
16
17
|
return {facebook::react::concreteComponentDescriptorProvider<facebook::react::MapViewComponentDescriptor>(),
|
|
17
18
|
facebook::react::concreteComponentDescriptorProvider<facebook::react::HeatMapComponentDescriptor>(),
|
|
18
19
|
facebook::react::concreteComponentDescriptorProvider<facebook::react::CircleComponentDescriptor>(),
|
|
@@ -22,7 +23,8 @@ public:
|
|
|
22
23
|
facebook::react::concreteComponentDescriptorProvider<facebook::react::MarkerComponentDescriptor>()};
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
ComponentJSIBinderByString createComponentJSIBinderByName() override
|
|
26
|
+
ComponentJSIBinderByString createComponentJSIBinderByName() override
|
|
27
|
+
{
|
|
26
28
|
return {{"AMapView", std::make_shared<MapViewJSIBinder>()},
|
|
27
29
|
{"AMapHeatMap", std::make_shared<HeatMapJSIBinder>()},
|
|
28
30
|
{"AMapCircle", std::make_shared<CircleJSIBinder>()},
|
|
@@ -31,7 +33,8 @@ public:
|
|
|
31
33
|
{"AMapMultiPoint", std::make_shared<MultipointJSIBinder>()},
|
|
32
34
|
{"AMapMarker", std::make_shared<MarkerJSIBinder>()}};
|
|
33
35
|
}
|
|
34
|
-
EventEmitRequestHandlers createEventEmitRequestHandlers() override
|
|
36
|
+
EventEmitRequestHandlers createEventEmitRequestHandlers() override
|
|
37
|
+
{
|
|
35
38
|
return {
|
|
36
39
|
{std::make_shared<AMapViewEventEmitRequestHandler>()},
|
|
37
40
|
{std::make_shared<AMapMarkerEventEmitRequestHandler>()},
|
|
@@ -56,18 +56,18 @@ MarkerProps::MarkerProps(const PropsParserContext &context, const MarkerProps &s
|
|
|
56
56
|
: ViewProps(context, sourceProps, rawProps),
|
|
57
57
|
draggable(convertRawProp(context, rawProps, "draggable", sourceProps.draggable, false)),
|
|
58
58
|
flat(convertRawProp(context, rawProps, "flat", sourceProps.flat, false)),
|
|
59
|
-
anchor(convertRawProp(context, rawProps, "anchor", sourceProps.anchor, {0,0})),
|
|
60
|
-
centerOffset(convertRawProp(context, rawProps, "centerOffset", sourceProps.centerOffset, {0,0})),
|
|
61
|
-
position(convertRawProp(context, rawProps, "position", sourceProps.position, {0,0})),
|
|
59
|
+
anchor(convertRawProp(context, rawProps, "anchor", sourceProps.anchor, {0, 0})),
|
|
60
|
+
centerOffset(convertRawProp(context, rawProps, "centerOffset", sourceProps.centerOffset, {0, 0})),
|
|
61
|
+
position(convertRawProp(context, rawProps, "position", sourceProps.position, {0, 0})),
|
|
62
62
|
levelIndex(convertRawProp(context, rawProps, "zIndex", sourceProps.levelIndex, 0)),
|
|
63
|
-
icon(convertRawProp(context, rawProps, "icon", sourceProps.icon,{"/0", 0, 0, 0, "/0", "/0", "/0"})) {}
|
|
63
|
+
icon(convertRawProp(context, rawProps, "icon", sourceProps.icon, {"/0", 0, 0, 0, "/0", "/0", "/0"})) {}
|
|
64
64
|
|
|
65
65
|
PolylineProps::PolylineProps(const PropsParserContext &context, const PolylineProps &sourceProps,
|
|
66
66
|
const RawProps &rawProps)
|
|
67
67
|
: ViewProps(context, sourceProps, rawProps),
|
|
68
68
|
width(convertRawProp(context, rawProps, "width", sourceProps.width, 1.f)),
|
|
69
69
|
color(convertRawProp(context, rawProps, "color", sourceProps.color, 0x000000)),
|
|
70
|
-
colors(convertRawProp(context, rawProps, "colors", sourceProps.colors, {0xFF5566,0x112233,0x114477})),
|
|
70
|
+
colors(convertRawProp(context, rawProps, "colors", sourceProps.colors, {0xFF5566, 0x112233, 0x114477})),
|
|
71
71
|
levelIndex(convertRawProp(context, rawProps, "zIndex", sourceProps.levelIndex, 0.f)),
|
|
72
72
|
geodesic(convertRawProp(context, rawProps, "geodesic", sourceProps.geodesic, false)),
|
|
73
73
|
dotted(convertRawProp(context, rawProps, "dotted", sourceProps.dotted, false)),
|