react-native-map4d-services 1.0.2 → 1.2.0

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.
@@ -1,376 +1,280 @@
1
- package com.reactnativemap4dservices;
2
-
3
- import androidx.annotation.NonNull;
4
-
5
- import com.facebook.react.bridge.ReadableMap;
6
-
7
- import org.json.JSONArray;
8
- import org.json.JSONException;
9
- import org.json.JSONObject;
10
-
11
- import vn.map4d.services.MFMethod;
12
- import vn.map4d.services.MFRequestParams;
13
- import vn.map4d.services.MFServiceOptions;
14
-
15
- public class SRequest {
16
- static MFServiceOptions buildSuggestionsRequestWithData(@NonNull ReadableMap params) {
17
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
18
- serviceOptionsBuilder.url("/sdk/autosuggest");
19
- serviceOptionsBuilder.method(MFMethod.GET);
20
-
21
- MFRequestParams requestParams = new MFRequestParams();
22
- if (params.hasKey("text") && !params.isNull("text")) {
23
- String text = params.getString("text");
24
- requestParams.put("text", text);
25
- }
26
-
27
- if (params.hasKey("acronym") && !params.isNull("acronym")) {
28
- boolean acronym = params.getBoolean("acronym");
29
- requestParams.put("acronym", String.valueOf(acronym));
30
- }
31
-
32
- if (params.hasKey("location") && !params.isNull("location")) {
33
- String location = SConverter.toLocation(params.getMap("location"));
34
- requestParams.put("location", location);
35
- }
36
- serviceOptionsBuilder.params(requestParams);
37
- return serviceOptionsBuilder.build();
38
- }
39
-
40
- static MFServiceOptions buildPlaceDetailRequestWithId(@NonNull String placeId) {
41
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
42
- StringBuilder urlBuilder = new StringBuilder("/sdk/place/detail");
43
- serviceOptionsBuilder.method(MFMethod.GET);
44
- if (placeId != null) {
45
- urlBuilder.append("/").append(placeId);
46
- }
47
- serviceOptionsBuilder.url(urlBuilder.toString());
48
- return serviceOptionsBuilder.build();
49
- }
50
-
51
- static MFServiceOptions buildTextSearchRequestWithData(@NonNull ReadableMap params) {
52
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
53
- serviceOptionsBuilder.url("/sdk/place/text-search");
54
- serviceOptionsBuilder.method(MFMethod.GET);
55
-
56
- MFRequestParams requestParams = new MFRequestParams();
57
- if (params.hasKey("text") && !params.isNull("text")) {
58
- String text = params.getString("text");
59
- requestParams.put("text", text);
60
- }
61
-
62
- if (params.hasKey("location") && !params.isNull("location")) {
63
- String location = SConverter.toLocation(params.getMap("location"));
64
- requestParams.put("location", location);
65
- }
66
-
67
- if (params.hasKey("types") && !params.isNull("types")) {
68
- String types = SConverter.toTypes(params.getArray("types"));
69
- requestParams.put("types", types);
70
- }
71
-
72
- if (params.hasKey("datetime") && !params.isNull("datetime")) {
73
- String datetime = SConverter.toDatetime(params.getDouble("datetime"));
74
- requestParams.put("datetime", datetime);
75
- }
76
- serviceOptionsBuilder.params(requestParams);
77
- return serviceOptionsBuilder.build();
78
- }
79
-
80
- static MFServiceOptions buildNearbySearchRequestWithData(@NonNull ReadableMap params) {
81
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
82
- serviceOptionsBuilder.url("/sdk/place/nearby-search");
83
- serviceOptionsBuilder.method(MFMethod.GET);
84
-
85
- MFRequestParams requestParams = new MFRequestParams();
86
- if (params.hasKey("location") && !params.isNull("location")) {
87
- String location = SConverter.toLocation(params.getMap("location"));
88
- requestParams.put("location", location);
89
- }
90
-
91
- if (params.hasKey("radius") && !params.isNull("radius")) {
92
- String radius = String.valueOf(params.getInt("radius"));
93
- requestParams.put("radius", radius);
94
- }
95
-
96
- if (params.hasKey("text") && !params.isNull("text")) {
97
- String text = params.getString("text");
98
- requestParams.put("text", text);
99
- }
100
-
101
- if (params.hasKey("types") && !params.isNull("types")) {
102
- String types = SConverter.toTypes(params.getArray("types"));
103
- requestParams.put("types", types);
104
- }
105
-
106
- if (params.hasKey("tags") && !params.isNull("tags")) {
107
- String tags = SConverter.toTags(params.getArray("tags"));
108
- requestParams.put("tags", tags);
109
- }
110
-
111
- if (params.hasKey("datetime") && !params.isNull("datetime")) {
112
- String datetime = SConverter.toDatetime(params.getDouble("datetime"));
113
- requestParams.put("datetime", datetime);
114
- }
115
-
116
- serviceOptionsBuilder.params(requestParams);
117
- return serviceOptionsBuilder.build();
118
- }
119
-
120
- static MFServiceOptions buildViewboxSearchRequestWithData(@NonNull ReadableMap params) {
121
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
122
- serviceOptionsBuilder.url("/sdk/place/viewbox-search");
123
- serviceOptionsBuilder.method(MFMethod.GET);
124
-
125
- MFRequestParams requestParams = new MFRequestParams();
126
- if (params.hasKey("viewbox") && !params.isNull("viewbox")) {
127
- String viewbox = SConverter.toViewbox(params.getMap("viewbox"));
128
- requestParams.put("viewbox", viewbox);
129
- }
130
-
131
- if (params.hasKey("text") && !params.isNull("text")) {
132
- String text = params.getString("text");
133
- requestParams.put("text", text);
134
- }
135
-
136
- if (params.hasKey("types") && !params.isNull("types")) {
137
- String types = SConverter.toTypes(params.getArray("types"));
138
- requestParams.put("types", types);
139
- }
140
-
141
- if (params.hasKey("tags") && !params.isNull("tags")) {
142
- String tags = SConverter.toTags(params.getArray("tags"));
143
- requestParams.put("tags", tags);
144
- }
145
-
146
- if (params.hasKey("datetime") && !params.isNull("datetime")) {
147
- String datetime = SConverter.toDatetime(params.getDouble("datetime"));
148
- requestParams.put("datetime", datetime);
149
- }
150
- serviceOptionsBuilder.params(requestParams);
151
- return serviceOptionsBuilder.build();
152
- }
153
-
154
- static MFServiceOptions buildGeocodingRequestWithData(@NonNull ReadableMap params) {
155
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
156
- serviceOptionsBuilder.url("/sdk/v2/geocode");
157
- serviceOptionsBuilder.method(MFMethod.GET);
158
-
159
- MFRequestParams requestParams = new MFRequestParams();
160
- if (params.hasKey("address") && !params.isNull("address")) {
161
- String address = params.getString("address");
162
- requestParams.put("address", address);
163
- }
164
-
165
- if (params.hasKey("location") && !params.isNull("location")) {
166
- String location = SConverter.toLocation(params.getMap("location"));
167
- requestParams.put("location", location);
168
- }
169
-
170
- if (params.hasKey("viewbox") && !params.isNull("viewbox")) {
171
- String viewbox = SConverter.toViewbox(params.getMap("viewbox"));
172
- requestParams.put("viewbox", viewbox);
173
- }
174
- serviceOptionsBuilder.params(requestParams);
175
- return serviceOptionsBuilder.build();
176
- }
177
-
178
- static MFServiceOptions buildDirectionsRequestWithData(@NonNull ReadableMap params) {
179
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
180
- serviceOptionsBuilder.url("/sdk/route");
181
- serviceOptionsBuilder.method(MFMethod.GET);
182
-
183
- MFRequestParams requestParams = new MFRequestParams();
184
-
185
- if (params.hasKey("origin") && !params.isNull("origin")) {
186
- String origin = SConverter.toLocation(params.getMap("origin"));
187
- requestParams.put("origin", origin);
188
- }
189
-
190
- if (params.hasKey("destination") && !params.isNull("destination")) {
191
- String destination = SConverter.toLocation(params.getMap("destination"));
192
- requestParams.put("destination", destination);
193
- }
194
-
195
- if (params.hasKey("mode") && !params.isNull("mode")) {
196
- String mode = params.getString("mode");
197
- requestParams.put("mode", mode);
198
- }
199
-
200
- if (params.hasKey("weighting") && !params.isNull("weighting")) {
201
- int weighting = SConverter.toWeighting(params.getString("weighting"));
202
- requestParams.put("weighting", String.valueOf(weighting));
203
- }
204
-
205
- if (params.hasKey("language") && !params.isNull("language")) {
206
- String language = params.getString("language");
207
- requestParams.put("language", language);
208
- }
209
-
210
- if (params.hasKey("waypoints") && !params.isNull("waypoints")) {
211
- String waypoints = SConverter.toLocationList(params.getArray("waypoints"));
212
- requestParams.put("points", waypoints);
213
- }
214
-
215
- if (params.hasKey("restriction") && !params.isNull("restriction")) {
216
- ReadableMap restrictionMap = params.getMap("restriction");
217
- String avoid = SConverter.toAvoid(restrictionMap);
218
- if (avoid != null && !avoid.isEmpty()) {
219
- requestParams.put("avoid", avoid);
220
- }
221
-
222
- String avoidRoads = SConverter.toAvoidRoads(restrictionMap);
223
- if (avoidRoads != null) {
224
- requestParams.put("avoidRoads", avoidRoads);
225
- }
226
- }
227
-
228
- serviceOptionsBuilder.params(requestParams);
229
- return serviceOptionsBuilder.build();
230
- }
231
-
232
- static MFServiceOptions buildRouteETARequestWithData(@NonNull ReadableMap params) {
233
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
234
- serviceOptionsBuilder.url("/sdk/route/eta");
235
- serviceOptionsBuilder.method(MFMethod.POST);
236
-
237
- JSONObject jsonObject = new JSONObject();
238
- try {
239
- if (params.hasKey("origins") && !params.isNull("origins")) {
240
- JSONArray origins = SConverter.toOriginJsonArray(params.getArray("origins"));
241
- jsonObject.put("origins", origins);
242
- }
243
-
244
- if (params.hasKey("destination") && !params.isNull("destination")) {
245
- String destination = SConverter.toLocation(params.getMap("destination"));
246
- jsonObject.put("destination", destination);
247
- }
248
-
249
- if (params.hasKey("mode") && !params.isNull("mode")) {
250
- String mode = params.getString("mode");
251
- jsonObject.put("mode", mode);
252
- }
253
-
254
- if (params.hasKey("weighting") && !params.isNull("weighting")) {
255
- int weighting = SConverter.toWeighting(params.getString("weighting"));
256
- jsonObject.put("weighting", String.valueOf(weighting));
257
- }
258
-
259
- if (params.hasKey("language") && !params.isNull("language")) {
260
- String language = params.getString("language");
261
- jsonObject.put("language", language);
262
- }
263
-
264
- if (params.hasKey("restriction") && !params.isNull("restriction")) {
265
- ReadableMap restrictionMap = params.getMap("restriction");
266
- String avoid = SConverter.toAvoid(restrictionMap);
267
- if (avoid != null && !avoid.isEmpty()) {
268
- jsonObject.put("avoid", avoid);
269
- }
270
-
271
- String avoidRoads = SConverter.toAvoidRoads(restrictionMap);
272
- if (avoidRoads != null) {
273
- jsonObject.put("avoidRoads", avoidRoads);
274
- }
275
- }
276
- } catch (JSONException e) {
277
- e.printStackTrace();
278
- }
279
-
280
- serviceOptionsBuilder.json(jsonObject.toString());
281
- return serviceOptionsBuilder.build();
282
- }
283
-
284
- static MFServiceOptions buildDistanceMatrixRequestWithData(@NonNull ReadableMap params) {
285
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
286
- serviceOptionsBuilder.url("/sdk/route/matrix");
287
- serviceOptionsBuilder.method(MFMethod.GET);
288
-
289
- MFRequestParams requestParams = new MFRequestParams();
290
-
291
- if (params.hasKey("origins") && !params.isNull("origins")) {
292
- String origins = SConverter.toLocationList(params.getArray("origins"));
293
- requestParams.put("origins", origins);
294
- }
295
-
296
- if (params.hasKey("destinations") && !params.isNull("destinations")) {
297
- String destinations = SConverter.toLocationList(params.getArray("destinations"));
298
- requestParams.put("destinations", destinations);
299
- }
300
-
301
- if (params.hasKey("mode") && !params.isNull("mode")) {
302
- String mode = params.getString("mode");
303
- requestParams.put("mode", mode);
304
- }
305
-
306
- if (params.hasKey("weighting") && !params.isNull("weighting")) {
307
- int weighting = SConverter.toWeighting(params.getString("weighting"));
308
- requestParams.put("weighting", String.valueOf(weighting));
309
- }
310
-
311
- if (params.hasKey("language") && !params.isNull("language")) {
312
- String language = params.getString("language");
313
- requestParams.put("language", language);
314
- }
315
-
316
- if (params.hasKey("restriction") && !params.isNull("restriction")) {
317
- ReadableMap restrictionMap = params.getMap("restriction");
318
- String avoid = SConverter.toAvoid(restrictionMap);
319
- if (avoid != null && !avoid.isEmpty()) {
320
- requestParams.put("avoid", avoid);
321
- }
322
-
323
- String avoidRoads = SConverter.toAvoidRoads(restrictionMap);
324
- if (avoidRoads != null) {
325
- requestParams.put("avoidRoads", avoidRoads);
326
- }
327
- }
328
-
329
- serviceOptionsBuilder.params(requestParams);
330
- return serviceOptionsBuilder.build();
331
- }
332
-
333
- static MFServiceOptions buildGraphRouteRequestWithData(@NonNull ReadableMap params) {
334
- MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
335
- serviceOptionsBuilder.url("/sdk/route/graph");
336
- serviceOptionsBuilder.method(MFMethod.GET);
337
-
338
- MFRequestParams requestParams = new MFRequestParams();
339
-
340
- if (params.hasKey("locations") && !params.isNull("locations")) {
341
- String points = SConverter.toLocationList(params.getArray("locations"));
342
- requestParams.put("points", points);
343
- }
344
-
345
- if (params.hasKey("mode") && !params.isNull("mode")) {
346
- String mode = params.getString("mode");
347
- requestParams.put("mode", mode);
348
- }
349
-
350
- if (params.hasKey("weighting") && !params.isNull("weighting")) {
351
- int weighting = SConverter.toWeighting(params.getString("weighting"));
352
- requestParams.put("weighting", String.valueOf(weighting));
353
- }
354
-
355
- if (params.hasKey("language") && !params.isNull("language")) {
356
- String language = params.getString("language");
357
- requestParams.put("language", language);
358
- }
359
-
360
- if (params.hasKey("restriction") && !params.isNull("restriction")) {
361
- ReadableMap restrictionMap = params.getMap("restriction");
362
- String avoid = SConverter.toAvoid(restrictionMap);
363
- if (avoid != null && !avoid.isEmpty()) {
364
- requestParams.put("avoid", avoid);
365
- }
366
-
367
- String avoidRoads = SConverter.toAvoidRoads(restrictionMap);
368
- if (avoidRoads != null) {
369
- requestParams.put("avoidRoads", avoidRoads);
370
- }
371
- }
372
-
373
- serviceOptionsBuilder.params(requestParams);
374
- return serviceOptionsBuilder.build();
375
- }
376
- }
1
+ package com.reactnativemap4dservices;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import com.facebook.react.bridge.ReadableMap;
6
+
7
+ import org.json.JSONArray;
8
+ import org.json.JSONException;
9
+ import org.json.JSONObject;
10
+
11
+ import vn.map4d.services.MFMethod;
12
+ import vn.map4d.services.MFRequestParams;
13
+ import vn.map4d.services.MFServiceOptions;
14
+
15
+ public class SRequest {
16
+ static MFServiceOptions buildSuggestionsRequestWithData(@NonNull ReadableMap params) {
17
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
18
+ serviceOptionsBuilder.url("/sdk/autosuggest");
19
+ serviceOptionsBuilder.method(MFMethod.GET);
20
+
21
+ MFRequestParams requestParams = new MFRequestParams();
22
+ if (params.hasKey("text") && !params.isNull("text")) {
23
+ String text = params.getString("text");
24
+ requestParams.put("text", text);
25
+ }
26
+
27
+ if (params.hasKey("acronym") && !params.isNull("acronym")) {
28
+ boolean acronym = params.getBoolean("acronym");
29
+ requestParams.put("acronym", String.valueOf(acronym));
30
+ }
31
+
32
+ if (params.hasKey("location") && !params.isNull("location")) {
33
+ String location = SConverter.toLocation(params.getMap("location"));
34
+ requestParams.put("location", location);
35
+ }
36
+ serviceOptionsBuilder.params(requestParams);
37
+ return serviceOptionsBuilder.build();
38
+ }
39
+
40
+ static MFServiceOptions buildPlaceDetailRequestWithId(@NonNull String placeId) {
41
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
42
+ StringBuilder urlBuilder = new StringBuilder("/sdk/place/detail");
43
+ serviceOptionsBuilder.method(MFMethod.GET);
44
+ if (placeId != null) {
45
+ urlBuilder.append("/").append(placeId);
46
+ }
47
+ serviceOptionsBuilder.url(urlBuilder.toString());
48
+ return serviceOptionsBuilder.build();
49
+ }
50
+
51
+ static MFServiceOptions buildTextSearchRequestWithData(@NonNull ReadableMap params) {
52
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
53
+ serviceOptionsBuilder.url("/sdk/place/text-search");
54
+ serviceOptionsBuilder.method(MFMethod.GET);
55
+
56
+ MFRequestParams requestParams = new MFRequestParams();
57
+ if (params.hasKey("text") && !params.isNull("text")) {
58
+ String text = params.getString("text");
59
+ requestParams.put("text", text);
60
+ }
61
+
62
+ if (params.hasKey("location") && !params.isNull("location")) {
63
+ String location = SConverter.toLocation(params.getMap("location"));
64
+ requestParams.put("location", location);
65
+ }
66
+
67
+ if (params.hasKey("types") && !params.isNull("types")) {
68
+ String types = SConverter.toTypes(params.getArray("types"));
69
+ requestParams.put("types", types);
70
+ }
71
+
72
+ if (params.hasKey("datetime") && !params.isNull("datetime")) {
73
+ String datetime = SConverter.toDatetime(params.getDouble("datetime"));
74
+ requestParams.put("datetime", datetime);
75
+ }
76
+ serviceOptionsBuilder.params(requestParams);
77
+ return serviceOptionsBuilder.build();
78
+ }
79
+
80
+ static MFServiceOptions buildNearbySearchRequestWithData(@NonNull ReadableMap params) {
81
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
82
+ serviceOptionsBuilder.url("/sdk/place/nearby-search");
83
+ serviceOptionsBuilder.method(MFMethod.GET);
84
+
85
+ MFRequestParams requestParams = new MFRequestParams();
86
+ if (params.hasKey("location") && !params.isNull("location")) {
87
+ String location = SConverter.toLocation(params.getMap("location"));
88
+ requestParams.put("location", location);
89
+ }
90
+
91
+ if (params.hasKey("radius") && !params.isNull("radius")) {
92
+ String radius = String.valueOf(params.getInt("radius"));
93
+ requestParams.put("radius", radius);
94
+ }
95
+
96
+ if (params.hasKey("text") && !params.isNull("text")) {
97
+ String text = params.getString("text");
98
+ requestParams.put("text", text);
99
+ }
100
+
101
+ if (params.hasKey("types") && !params.isNull("types")) {
102
+ String types = SConverter.toTypes(params.getArray("types"));
103
+ requestParams.put("types", types);
104
+ }
105
+
106
+ if (params.hasKey("tags") && !params.isNull("tags")) {
107
+ String tags = SConverter.toTags(params.getArray("tags"));
108
+ requestParams.put("tags", tags);
109
+ }
110
+
111
+ if (params.hasKey("datetime") && !params.isNull("datetime")) {
112
+ String datetime = SConverter.toDatetime(params.getDouble("datetime"));
113
+ requestParams.put("datetime", datetime);
114
+ }
115
+
116
+ serviceOptionsBuilder.params(requestParams);
117
+ return serviceOptionsBuilder.build();
118
+ }
119
+
120
+ static MFServiceOptions buildViewboxSearchRequestWithData(@NonNull ReadableMap params) {
121
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
122
+ serviceOptionsBuilder.url("/sdk/place/viewbox-search");
123
+ serviceOptionsBuilder.method(MFMethod.GET);
124
+
125
+ MFRequestParams requestParams = new MFRequestParams();
126
+ if (params.hasKey("viewbox") && !params.isNull("viewbox")) {
127
+ String viewbox = SConverter.toViewbox(params.getMap("viewbox"));
128
+ requestParams.put("viewbox", viewbox);
129
+ }
130
+
131
+ if (params.hasKey("text") && !params.isNull("text")) {
132
+ String text = params.getString("text");
133
+ requestParams.put("text", text);
134
+ }
135
+
136
+ if (params.hasKey("types") && !params.isNull("types")) {
137
+ String types = SConverter.toTypes(params.getArray("types"));
138
+ requestParams.put("types", types);
139
+ }
140
+
141
+ if (params.hasKey("tags") && !params.isNull("tags")) {
142
+ String tags = SConverter.toTags(params.getArray("tags"));
143
+ requestParams.put("tags", tags);
144
+ }
145
+
146
+ if (params.hasKey("datetime") && !params.isNull("datetime")) {
147
+ String datetime = SConverter.toDatetime(params.getDouble("datetime"));
148
+ requestParams.put("datetime", datetime);
149
+ }
150
+ serviceOptionsBuilder.params(requestParams);
151
+ return serviceOptionsBuilder.build();
152
+ }
153
+
154
+ static MFServiceOptions buildGeocodingRequestWithData(@NonNull ReadableMap params) {
155
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
156
+ serviceOptionsBuilder.url("/sdk/v2/geocode");
157
+ serviceOptionsBuilder.method(MFMethod.GET);
158
+
159
+ MFRequestParams requestParams = new MFRequestParams();
160
+ if (params.hasKey("address") && !params.isNull("address")) {
161
+ String address = params.getString("address");
162
+ requestParams.put("address", address);
163
+ }
164
+
165
+ if (params.hasKey("location") && !params.isNull("location")) {
166
+ String location = SConverter.toLocation(params.getMap("location"));
167
+ requestParams.put("location", location);
168
+ }
169
+
170
+ if (params.hasKey("viewbox") && !params.isNull("viewbox")) {
171
+ String viewbox = SConverter.toViewbox(params.getMap("viewbox"));
172
+ requestParams.put("viewbox", viewbox);
173
+ }
174
+ serviceOptionsBuilder.params(requestParams);
175
+ return serviceOptionsBuilder.build();
176
+ }
177
+
178
+ static MFServiceOptions buildDirectionsRequestWithData(@NonNull ReadableMap params) {
179
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
180
+ serviceOptionsBuilder.url("/sdk/route");
181
+ serviceOptionsBuilder.method(MFMethod.GET);
182
+
183
+ MFRequestParams requestParams = new MFRequestParams();
184
+
185
+ if (params.hasKey("origin") && !params.isNull("origin")) {
186
+ String origin = SConverter.toLocation(params.getMap("origin"));
187
+ requestParams.put("origin", origin);
188
+ }
189
+
190
+ if (params.hasKey("destination") && !params.isNull("destination")) {
191
+ String destination = SConverter.toLocation(params.getMap("destination"));
192
+ requestParams.put("destination", destination);
193
+ }
194
+
195
+ if (params.hasKey("mode") && !params.isNull("mode")) {
196
+ String mode = params.getString("mode");
197
+ requestParams.put("mode", mode);
198
+ }
199
+
200
+ if (params.hasKey("weighting") && !params.isNull("weighting")) {
201
+ int weighting = SConverter.toWeighting(params.getString("weighting"));
202
+ requestParams.put("weighting", String.valueOf(weighting));
203
+ }
204
+
205
+ if (params.hasKey("language") && !params.isNull("language")) {
206
+ String language = params.getString("language");
207
+ requestParams.put("language", language);
208
+ }
209
+
210
+ if (params.hasKey("waypoints") && !params.isNull("waypoints")) {
211
+ String waypoints = SConverter.toLocationList(params.getArray("waypoints"));
212
+ requestParams.put("points", waypoints);
213
+ }
214
+
215
+ if (params.hasKey("restriction") && !params.isNull("restriction")) {
216
+ ReadableMap restrictionMap = params.getMap("restriction");
217
+ String avoid = SConverter.toAvoid(restrictionMap);
218
+ if (avoid != null && !avoid.isEmpty()) {
219
+ requestParams.put("avoid", avoid);
220
+ }
221
+
222
+ String avoidRoads = SConverter.toAvoidRoads(restrictionMap);
223
+ if (avoidRoads != null) {
224
+ requestParams.put("avoidRoads", avoidRoads);
225
+ }
226
+ }
227
+
228
+ serviceOptionsBuilder.params(requestParams);
229
+ return serviceOptionsBuilder.build();
230
+ }
231
+
232
+ static MFServiceOptions buildDistanceMatrixRequestWithData(@NonNull ReadableMap params) {
233
+ MFServiceOptions.Builder serviceOptionsBuilder = new MFServiceOptions.Builder();
234
+ serviceOptionsBuilder.url("/sdk/route/matrix");
235
+ serviceOptionsBuilder.method(MFMethod.GET);
236
+
237
+ MFRequestParams requestParams = new MFRequestParams();
238
+
239
+ if (params.hasKey("origins") && !params.isNull("origins")) {
240
+ String origins = SConverter.toLocationList(params.getArray("origins"));
241
+ requestParams.put("origins", origins);
242
+ }
243
+
244
+ if (params.hasKey("destinations") && !params.isNull("destinations")) {
245
+ String destinations = SConverter.toLocationList(params.getArray("destinations"));
246
+ requestParams.put("destinations", destinations);
247
+ }
248
+
249
+ if (params.hasKey("mode") && !params.isNull("mode")) {
250
+ String mode = params.getString("mode");
251
+ requestParams.put("mode", mode);
252
+ }
253
+
254
+ if (params.hasKey("weighting") && !params.isNull("weighting")) {
255
+ int weighting = SConverter.toWeighting(params.getString("weighting"));
256
+ requestParams.put("weighting", String.valueOf(weighting));
257
+ }
258
+
259
+ if (params.hasKey("language") && !params.isNull("language")) {
260
+ String language = params.getString("language");
261
+ requestParams.put("language", language);
262
+ }
263
+
264
+ if (params.hasKey("restriction") && !params.isNull("restriction")) {
265
+ ReadableMap restrictionMap = params.getMap("restriction");
266
+ String avoid = SConverter.toAvoid(restrictionMap);
267
+ if (avoid != null && !avoid.isEmpty()) {
268
+ requestParams.put("avoid", avoid);
269
+ }
270
+
271
+ String avoidRoads = SConverter.toAvoidRoads(restrictionMap);
272
+ if (avoidRoads != null) {
273
+ requestParams.put("avoidRoads", avoidRoads);
274
+ }
275
+ }
276
+
277
+ serviceOptionsBuilder.params(requestParams);
278
+ return serviceOptionsBuilder.build();
279
+ }
280
+ }