1 package expo.modules.maps.googleMaps 2 3 import android.content.Context 4 import android.net.Uri 5 import com.google.android.gms.maps.GoogleMap 6 import com.google.maps.android.data.kml.KmlLayer 7 import expo.modules.maps.KMLObject 8 import expo.modules.maps.interfaces.KMLs 9 import java.io.File 10 11 class GoogleMapsKMLs(private val context: Context, private val map: GoogleMap) : KMLs { 12 13 private val layers = mutableListOf<KmlLayer>() 14 setKMLsnull15 override fun setKMLs(kmlObjects: Array<KMLObject>) { 16 deleteKMLs() 17 18 kmlObjects.forEach { 19 val path = File(Uri.parse(it.filePath).path!!) 20 val layer = KmlLayer(map, path.inputStream(), context) 21 layer.addLayerToMap() 22 layers.add(layer) 23 } 24 } 25 deleteKMLsnull26 private fun deleteKMLs() { 27 layers.forEach { it.removeLayerFromMap() } 28 layers.clear() 29 } 30 } 31