Нарисуйте 2D-линию в коде Swift и отобразите в React Native - PullRequest
1 голос
/ 10 октября 2019

Мне нужно нарисовать двухмерную линию в коде Swift из набора значений массива (координаты x, y). И отобразить вывод в React Native.

Я новичок в программировании Swift и Objective-C.

Задача

  1. Передача значений массива из RN в Swift (готово)
  2. Используйте значения массива, полученные нами в 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
          ]
        ]
      ]

Мне нужно будет построить точки в соответствии с переданным массивом.

...