Мне нужно нарисовать двухмерную линию в коде Swift из набора значений массива (координаты x, y). И отобразить вывод в React Native.
Я новичок в программировании Swift и Objective-C.
Задача
- Передача значений массива из RN в Swift (готово)
- Используйте значения массива, полученные нами в Swift, нарисуйте 2-мерную линию в UIView и отобразите ее в RN (нужна помощь).
Ожидаемый результат
Я приложил код ниже
Line.m
#import "React/RCTBridgeModule.h"
@interface RCT_EXTERN_MODULE(Line, NSObject)
RCT_EXTERN_METHOD(arrayValues:(NSArray *)values)
@end
Line.swift
@objc(Line)class Line: NSObject {
@objc func arrayValues(_ values: [NSArray]) {
for(index, item) in values.enumerated()
{
for ar in item
{
print("index : \(index) item: \(ar)")
}
}
}
}
Образец массива, который я передам (мульти-массив или один массив может игнорировать ось Z) * 1029 *
"coordinates": [
[
[
6.87462062085475,
45.9746815056445,
2494.80004882813
],
[
6.87473799526779,
45.9772917433492,
2517.48754882813
]
],
[
[
6.87473461365077,
45.9772995683242,
2517.2578125
],
[
6.8736121249999,
45.9779670155837,
2542.50024414063
],
[
6.87299210781629,
45.9781103097697,
2579.26586914063
],
[
6.87223679891952,
45.9780976249557,
2623.55834960938
],
[
6.87169006623871,
45.9782141639712,
2674.02709960938
],
[
6.87133154968397,
45.9781620504641,
2706.29272460938
],
[
6.87084326975906,
45.9784539456999,
2685.76708984375
],
[
6.87055838217719,
45.9797052404885,
2641.150390625
],
[
6.86775431929958,
45.9838701463132,
2541.81811523438
],
[
6.86677434685096,
45.9850426033623,
2518.7724609375
],
[
6.86471620539337,
45.9859078090035,
2482.7353515625
],
[
6.86083954284208,
45.9857654302634,
2422.5908203125
],
[
6.85678792479354,
45.9856953809239,
2334.52661132813
],
[
6.85371440538845,
45.9861255880752,
2300.64892578125
],
[
6.85374919591106,
45.987623548574,
2328.4541015625
],
[
6.85538813707532,
45.9885247948691,
2368.02124023438
],
[
6.8571299935713,
45.9893949398974,
2430.18969726563
],
[
6.85762330877777,
45.9903535872519,
2444.35400390625
],
[
6.85792368848341,
45.991104963556,
2470.85522460938
],
[
6.86062047783254,
45.9926610042636,
2358.318359375
],
[
6.86367918950193,
45.9952411154904,
2238.4580078125
],
[
6.86651311990744,
45.9958393525819,
2198.28515625
],
[
6.86802868822584,
45.9967659531001,
2163.53515625
],
[
6.86890726501023,
45.9985394379416,
2082.47192382813
],
[
6.86946764936131,
45.9989288273475,
2065.57006835938
]
]
]
Мне нужно будет построить точки в соответствии с переданным массивом.