package com.shoyoo.react.anavi.util import com.amap.api.maps.AMapUtils import com.facebook.react.bridge.* import com.shoyoo.react.anavi.toLatLngList import java.lang.Exception class AMapUtilModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaModule(reactContext) { override fun getName(): String { return "AMapUtil" } @ReactMethod fun calculateLineDistance(origins: ReadableArray, destinations: ReadableArray, promise: Promise) { val o = origins.toLatLngList() var d = destinations.toLatLngList() val result: MutableList = mutableListOf(); try { for(i in 0..o.size) { if(i == d.size) { break; } val origin = o[i] val destination = d[i] val distance = AMapUtils.calculateLineDistance(origin, destination) result.add(distance) } promise.resolve(Arguments.createArray().apply { result.forEach { pushDouble(it.toDouble()) } }) } catch (e: Exception) { promise.reject("1", e.message, e) } } }