원 그리기 링크 복사

KNMapCircle 객체를 생성하여 KNMapView에 객체를 등록하면 지도 위에 원을 추가할 수 있습니다.

원의 외곽선과 면 색상, 선의 종류 등은 KNMapCircle 클래스에서 설정합니다.

예시 코드 원 그리기
private fun circleAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase11.csv"]?.apply {
        if (typeCase.trim() != KNTestCaseManager.CIRCLE) return@apply
        polygonData.add(this)
    }

    if (polygonData.isEmpty()) {
        polygonData.add(KNTestCaseManager.PolygonData(KNTestCaseManager.CIRCLE,
                listOf(WGS84ToKATEC(127.11019081347423, 37.3941851228957)),
                mutableListOf(),
                100f))
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addCircle(KNMapCircle(it.point.first(),it.radius,
                fillColor = Color.TRANSPARENT).apply {
            testType2.add(this)
        })
    }
}
private fun circleAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase11.csv"]?.apply {
        if (typeCase.trim() != KNTestCaseManager.CIRCLE) return@apply
        polygonData.add(this)
    }

    if (polygonData.isEmpty()) {
        polygonData.add(KNTestCaseManager.PolygonData(KNTestCaseManager.CIRCLE,
                listOf(WGS84ToKATEC(127.11019081347423, 37.3941851228957)),
                mutableListOf(),
                100f))
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addCircle(KNMapCircle(it.point.first(),it.radius,
                fillColor = Color.TRANSPARENT).apply {
            testType2.add(this)
        })
    }
}
코드가 숨겨졌습니다.

원 지우기 링크 복사

removeCircle 함수를 사용하여 추가한 원을 삭제할 수 있습니다.

예시 코드 원 지우기
private fun circleRemove() {
    testType2.forEach {
        this@FragmentMapSample00.mapView.removeCircle(it)
    }
    testType2.clear()
}
private fun circleRemove() {
    testType2.forEach {
        this@FragmentMapSample00.mapView.removeCircle(it)
    }
    testType2.clear()
}
코드가 숨겨졌습니다.

선 그리기 링크 복사

KNMapPolyline 객체를 생성하여 KNMapView에 객체를 등록하면 지도 위에 선을 추가할 수 있습니다.

선 색상, 선의 종류 등은 KNMapPolyline 클래스에서 설정합니다.

예시 코드 선 그리기
private fun lineAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase2.csv"]?.apply {
        if (this.typeCase.trim() != KNTestCaseManager.POLYLINE) return
        polygonData.add(this)
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addPolyline(KNMapPolyline(it.point, lineWidth = 5f, lineColor = Color.MAGENTA).apply {
            testType1.add(this)
        })
    }
}
private fun lineAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase2.csv"]?.apply {
        if (this.typeCase.trim() != KNTestCaseManager.POLYLINE) return
        polygonData.add(this)
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addPolyline(KNMapPolyline(it.point, lineWidth = 5f, lineColor = Color.MAGENTA).apply {
            testType1.add(this)
        })
    }
}
코드가 숨겨졌습니다.

선 지우기 링크 복사

removePolyline 함수를 사용하여 추가한 선을 삭제할 수 있습니다.

예시 코드 선 지우기
private fun lineRemove() {
    testType1.forEach {
        this@FragmentMapSample00.mapView.removePolyline(it)
    }
    testType1.clear()
}
private fun lineRemove() {
    testType1.forEach {
        this@FragmentMapSample00.mapView.removePolyline(it)
    }
    testType1.clear()
}
코드가 숨겨졌습니다.

폴리곤(다각형) 그리기 링크 복사

KNMapPolygon 객체를 생성하여 KNMapView에 객체를 등록하면 지도 위에 폴리곤(다각형)을 추가할 수 있습니다.

폴리곤의 외곽선과 면 색상, 선의 종류 등은 KNMapPolygon 클래스에서 설정합니다.

예시 코드 폴리곤(다각형) 그리기
private fun polygonAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase6.csv"]?.apply {
        if (this.typeCase.trim() != KNTestCaseManager.POLYGON) return
        polygonData.add(this)
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addPolygon(KNMapPolygon(it.point).apply {
            testType3.add(this)
        })
    }
}
private fun polygonAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase6.csv"]?.apply {
        if (this.typeCase.trim() != KNTestCaseManager.POLYGON) return
        polygonData.add(this)
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addPolygon(KNMapPolygon(it.point).apply {
            testType3.add(this)
        })
    }
}
코드가 숨겨졌습니다.

구멍이 있는 폴리곤(다각형) 그리기 링크 복사

addHole 함수를 이용하여 폴리곤에 구멍을 생성할 수 있습니다.

폴리곤 구멍의 외곽선과 면 색상, 선의 종류 등은 KNMapPolygon 클래스에서 설정합니다.

예시 코드 구멍이 있는 폴리곤(다각형) 그리기
private fun polygonWithHoleAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase5.csv"]?.apply {
        if (this.typeCase.trim() != KNTestCaseManager.POLYGON) return
        polygonData.add(this)
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addPolygon(KNMapPolygon(it.point).apply {
            addHole(it.hole)
            testType4.add(this)
        })
    }
}
private fun polygonWithHoleAdd() {
    val polygonData = mutableListOf<KNTestCaseManager.PolygonData>()
    KNTestCaseManager.testCaseData["testcase5.csv"]?.apply {
        if (this.typeCase.trim() != KNTestCaseManager.POLYGON) return
        polygonData.add(this)
    }

    polygonData.forEach {
        this@FragmentMapSample00.mapView.addPolygon(KNMapPolygon(it.point).apply {
            addHole(it.hole)
            testType4.add(this)
        })
    }
}
코드가 숨겨졌습니다.

폴리곤(다각형) 지우기 링크 복사

removePolygon 함수를 사용하여 추가한 폴리곤(다각형)을 삭제할 수 있습니다.

예시 코드 폴리곤(다각형) 지우기
private fun polygonWithHoleRemove() {
    testType4.forEach {
        this@FragmentMapSample00.mapView.removePolygon(it)
    }
    testType4.clear()
}
private fun polygonWithHoleRemove() {
    testType4.forEach {
        this@FragmentMapSample00.mapView.removePolygon(it)
    }
    testType4.clear()
}
코드가 숨겨졌습니다.