728x90
이번시간에는 api없이 무료로 사용할 수 있는, 오픈소스 osmdroid를 사용해서 지도를 띄워보겠습니다.
osmdroid에 대한 자세한 정보는 깃허브에 가시면 확인하실 수 있습니다.
https://github.com/osmdroid/osmdroid
1. build.gradle에 선언해줍니다.
+ Manifest에서 인터넷 사용 설정을 해둡니다.
<uses-permission android:name="android.permission.INTERNET"/>
2. XML 레이아웃에 사용할 mapview를 표시해줍니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<org.osmdroid.views.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
3. mapView에서 사용할 위도와 경도를 입력해준다.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val mapView = findViewById<MapView>(R.id.mapView)
val mapController = mapView.controller
mapController.setZoom(15.0)
val startPoint = GeoPoint(37.5665, 126.9780); // 여기에 위도와 경도를 입력하면 됩니다.
mapController.setCenter(startPoint);
Configuration.getInstance().userAgentValue = BuildConfig.APPLICATION_ID
mapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE)
}
결과
'안드로이드 코틀린' 카테고리의 다른 글
[Kotlin][Android] 상태바 - Status bar 다루기 (색깔 바꾸기) (0) | 2022.05.18 |
---|---|
[Kotlin][Android] osmdroid marker표시 및 지도 상에서 위치 얻기 (0) | 2022.05.16 |
[Kotlin][Android] 스피너 만들기 (0) | 2022.05.13 |
[Kotlin][Android] setOnItemSelectedListener 을 이용한 Bottom Navigation (0) | 2022.05.07 |
[Kotlin][Android] 수업 종료 날짜 계산하기 (주 단위) (0) | 2022.05.03 |