지도에 여행간곳을 표시해주는 지도 채우기 어플을 개발중에 있습니다.
지역 모양을 이미지를 포토샵으로 다 따서 하자니 레이아웃에서 이미지뷰 배치가 생각보다 쉽지 않아
svg 이미지를 vector xml로 변환하여 개발을 해 보려고 합니다.
한국 지도 svg 이미지를 xml로 변환한 코드의 일부는 다음과 같습니다.
ic_map_of_south_korea.xml
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="509dp"
android:height="716.105dp"
android:viewportWidth="509"
android:viewportHeight="716.105">
<!-- 생략 -->
<path
android:name="Goseong"
android:strokeWidth="1"
android:pathData="M340.083,66.939l13.334,-7l-8.334,-17.5l-1.333,-4.333l-7.167,-10l1.334,-1.833l-8,-14.167V8.939l-6.5,-8.333l-5.334,2.167L317.75,16.94l-1.167,7.833l-10.166,12.833l2.833,2l2.5,0.833l0.833,0.167l-1,1.833l0.667,4.333l5.5,-1.5l1,3.667l0.833,5.5l4.167,0.333l1,3.833l3.667,1l3.833,-1.833l2.167,2.5v5.5L340.083,66.939z"
android:fillColor="#FFFFFF"
android:strokeColor="#000000"/>
<!-- 생략 -->
</vector>
MapSeoulFragment.kt
fun onClick() {
val view: RichPathView = binding.icMapOfSouthKorea
view.findRichPathByName("Goseong")?.setOnPathClickListener {
Log.d("Goseong", "click")
view.findRichPathByName("Goseong")?.fillColor = Color.parseColor("#ffd2ee")
}
https://github.com/tarek360/RichPath 라이브러리를 이용하여 path 를 클릭하면 색이 바뀌는 것 까지는 구현을 했는데.. 문제는 이미지 입니다.
path내부를 사진으로 채우고 싶은데 fillColor 만 가능하고 이미지는 아무리 찾아봐도 모르겠습니다..
path를 사진으로 채우는 방법이 있다거나 다른 지도 채우기 방법이 있다면 조언 주시면 감사하겠습니다.