@maplibre/maplibre-react-native 10.0.0-beta.8 → 10.0.0-beta.9
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.
|
@@ -10,9 +10,11 @@ import org.maplibre.geojson.Feature;
|
|
|
10
10
|
import org.maplibre.geojson.FeatureCollection;
|
|
11
11
|
import org.maplibre.geojson.Geometry;
|
|
12
12
|
import org.maplibre.geojson.GeometryCollection;
|
|
13
|
+
import org.maplibre.geojson.MultiLineString;
|
|
13
14
|
import org.maplibre.geojson.LineString;
|
|
14
15
|
import org.maplibre.geojson.MultiPoint;
|
|
15
16
|
import org.maplibre.geojson.Point;
|
|
17
|
+
import org.maplibre.geojson.MultiPolygon;
|
|
16
18
|
import org.maplibre.geojson.Polygon;
|
|
17
19
|
import org.maplibre.android.geometry.LatLng;
|
|
18
20
|
import org.maplibre.android.geometry.LatLngBounds;
|
|
@@ -48,6 +50,12 @@ public class GeoJSONUtils {
|
|
|
48
50
|
return fromLineString((LineString) geometry);
|
|
49
51
|
case "Polygon":
|
|
50
52
|
return fromPolygon((Polygon) geometry);
|
|
53
|
+
case "MultiPoint":
|
|
54
|
+
return fromMultiPoint((MultiPoint) geometry);
|
|
55
|
+
case "MultiLineString":
|
|
56
|
+
return fromMultiLineString((MultiLineString) geometry);
|
|
57
|
+
case "MultiPolygon":
|
|
58
|
+
return fromMultiPolygon((MultiPolygon) geometry);
|
|
51
59
|
default:
|
|
52
60
|
return null;
|
|
53
61
|
}
|
|
@@ -74,6 +82,27 @@ public class GeoJSONUtils {
|
|
|
74
82
|
return map;
|
|
75
83
|
}
|
|
76
84
|
|
|
85
|
+
public static WritableMap fromMultiPoint(MultiPoint multiPoint) {
|
|
86
|
+
WritableMap map = Arguments.createMap();
|
|
87
|
+
map.putString("type", "MultiPoint");
|
|
88
|
+
map.putArray("coordinates", getCoordinates(multiPoint));
|
|
89
|
+
return map;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
public static WritableMap fromMultiLineString(MultiLineString multiLineString) {
|
|
93
|
+
WritableMap map = Arguments.createMap();
|
|
94
|
+
map.putString("type", "MultiLineString");
|
|
95
|
+
map.putArray("coordinates", getCoordinates(multiLineString));
|
|
96
|
+
return map;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
public static WritableMap fromMultiPolygon(MultiPolygon multiPolygon) {
|
|
100
|
+
WritableMap map = Arguments.createMap();
|
|
101
|
+
map.putString("type", "MultiPolygon");
|
|
102
|
+
map.putArray("coordinates", getCoordinates(multiPolygon));
|
|
103
|
+
return map;
|
|
104
|
+
}
|
|
105
|
+
|
|
77
106
|
public static WritableArray getCoordinates(Point point) {
|
|
78
107
|
return Arguments.fromArray(pointToDoubleArray(point));
|
|
79
108
|
}
|
|
@@ -110,6 +139,57 @@ public class GeoJSONUtils {
|
|
|
110
139
|
return array;
|
|
111
140
|
}
|
|
112
141
|
|
|
142
|
+
public static WritableArray getCoordinates(MultiPoint multiPoint) {
|
|
143
|
+
WritableArray array = Arguments.createArray();
|
|
144
|
+
|
|
145
|
+
List<Point> points = multiPoint.coordinates();
|
|
146
|
+
for (Point point : points) {
|
|
147
|
+
array.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return array;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public static WritableArray getCoordinates(MultiLineString multiLineString) {
|
|
154
|
+
WritableArray array = Arguments.createArray();
|
|
155
|
+
|
|
156
|
+
List<List<Point>> lines = multiLineString.coordinates();
|
|
157
|
+
for (List<Point> line : lines) {
|
|
158
|
+
WritableArray lineArray = Arguments.createArray();
|
|
159
|
+
|
|
160
|
+
for (Point point : line) {
|
|
161
|
+
lineArray.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
array.pushArray(lineArray);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return array;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
public static WritableArray getCoordinates(MultiPolygon multiPolygon) {
|
|
171
|
+
WritableArray array = Arguments.createArray();
|
|
172
|
+
|
|
173
|
+
List<List<List<Point>>> polygons = multiPolygon.coordinates();
|
|
174
|
+
for (List<List<Point>> polygon : polygons) {
|
|
175
|
+
WritableArray polygonArray = Arguments.createArray();
|
|
176
|
+
|
|
177
|
+
for (List<Point> ring : polygon) {
|
|
178
|
+
WritableArray ringArray = Arguments.createArray();
|
|
179
|
+
|
|
180
|
+
for (Point point : ring) {
|
|
181
|
+
ringArray.pushArray(Arguments.fromArray(pointToDoubleArray(point)));
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
polygonArray.pushArray(ringArray);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
array.pushArray(polygonArray);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return array;
|
|
191
|
+
}
|
|
192
|
+
|
|
113
193
|
public static WritableMap toPointFeature(LatLng latLng, WritableMap properties) {
|
|
114
194
|
WritableMap map = new WritableNativeMap();
|
|
115
195
|
map.putString("type", "Feature");
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maplibre/maplibre-react-native",
|
|
3
3
|
"description": "React Native library for creating maps with MapLibre Native for Android & iOS",
|
|
4
|
-
"version": "10.0.0-beta.
|
|
4
|
+
"version": "10.0.0-beta.9",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
7
7
|
"provenance": true
|