250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 막내의막무가내
- 막내의막무가내 플러터
- 부스트코스
- 부스트코스에이스
- 막내의막무가내 rxjava
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 코틀린 안드로이드
- 주엽역 생활맥주
- 2022년 6월 일상
- 막내의막무가내 SQL
- Fragment
- 막내의막무가내 알고리즘
- 막내의 막무가내 알고리즘
- 프로그래머스 알고리즘
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내 목표 및 회고
- 막내의막무가내 안드로이드 코틀린
- 안드로이드 sunflower
- 안드로이드
- 주택가 잠실새내
- 막내의막무가내 프로그래밍
- 막내의막무가내 코틀린
- 막내의막무가내 안드로이드
- 막내의막무가내 플러터 flutter
- flutter network call
- 막무가내
- 막내의 막무가내
- 프래그먼트
- 안드로이드 Sunflower 스터디
- 막내의막무가내 일상
Archives
- Today
- Total
막내의 막무가내 프로그래밍 & 일상
[안드로이드] Android Tmap 사용법 간략 정리(feat 지도위치, 마커, 길찾기) 본문
안드로이드/코틀린 & 아키텍처 & Recent
[안드로이드] Android Tmap 사용법 간략 정리(feat 지도위치, 마커, 길찾기)
막무가내막내 2020. 9. 7. 23:45728x90
[2021-04-14 업데이트]
지금까지 카카오맵, 구글맵은 사용해봤는데 Tmap은 처음사용해봤었습니다. 이에 대해 추후에도 참고하게 간략하게 기록하는 포스팅을 갖도록 하겠습니다.
세개의 Map API 를 사용하면서 느낀점은 전국의 지도가 가능하며 가장 많은 기능을 가진 것은 Google Map인 것 같고 간단하게 사용할거면 카카오맵과 Tmap API 가 좋은 것 같습니다. 근데 카카오맵이 안드로이드에서 제공하는 기능이 Tmap 보다는 많습니다.
Tmap 의 마커와 위치, 길찾기를 설정하는 방법에 대해 알아보겠습니다.
먼저 Tmap 을 초기화하는 함수입니다.
여기서 주의하실점이 있는데 마커의 위도,경도와 지도 위치를 설정하는 setCenterPoint의 위도 경도가 서로 순서가 다르다는 점입니다.
private fun initTmap() {
//지도 위치설정
val xPos = productArg.product.xPos.toDouble() //좌표
val yPos = productArg.product.yPos.toDouble()
val tmapView = TMapView(context)
tmapView.setSKTMapApiKey(getString(R.string.tmap_key))
tmapView.setCenterPoint(
yPos,
xPos
)
tmap.addView(tmapView) //tmap(xml레이아웃)에 tmapView 동적 추가
//마커추가
val bitmap =
BitmapFactory.decodeResource(
requireActivity().resources,
R.drawable.ic_location_orange_12
)
val tMapPoint1 =
TMapPoint(xPos, yPos)
val markerItem1 = TMapMarkerItem()
markerItem1.icon = bitmap // 마커 아이콘 지정
markerItem1.setPosition(0.5f, 1.0f) // 마커의 중심점을 중앙, 하단으로 설정
markerItem1.tMapPoint = tMapPoint1 // 마커의 좌표 지정
markerItem1.name = getString(R.string.no_money_diary_text) // 마커의 타이틀 지정
tmapView.addMarkerItem("markerItem1", markerItem1) // 지도에 마커 추가
}
저의 레이아웃 xml 입니다.
Tmap을 볼 부분은 아래 사진만 보시면 됩니다.
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:bind="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<data>
<variable
name="product"
type="com.mtjin.nomoneytrip.data.home.Product" />
<variable
name="vm"
type="com.mtjin.nomoneytrip.views.lodgment_detail.LodgmentDetailViewModel" />
</data>
<androidx.appcompat.widget.LinearLayoutCompat
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_16dp"
android:layout_marginTop="@dimen/margin_32dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/ic_back_title" />
<View
android:id="@+id/view_top"
android:layout_width="match_parent"
android:layout_height="@dimen/height_1dp"
android:layout_marginTop="@dimen/margin_7dp"
android:background="@color/colorWhiteGrayF4F4"
app:layout_constraintTop_toBottomOf="@id/iv_back" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_lodgment_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="@dimen/margin_12dp"
android:layout_marginEnd="@dimen/margin_62dp"
android:ellipsize="end"
android:fontFamily="@font/goyang_ilsan_regular"
android:maxLines="2"
android:text="@{product.title}"
android:textColor="@color/colorBlack2D2D"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/view_top"
tools:text="상품 이름" />
<androidx.appcompat.widget.AppCompatRatingBar
android:id="@+id/rb_rating"
style="?android:attr/ratingBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:backgroundTint="@color/colorOrangeF79256"
android:progressTint="@color/colorOrangeF79256"
app:layout_constraintStart_toStartOf="@id/tv_lodgment_name"
app:layout_constraintTop_toBottomOf="@id/tv_lodgment_name" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:textColor="@color/colorBlack2D2D"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="@id/rb_rating"
app:layout_constraintStart_toEndOf="@id/rb_rating"
app:layout_constraintTop_toTopOf="@id/rb_rating"
tools:text="6" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/vp_viewpager"
android:layout_width="match_parent"
android:layout_height="160dp"
android:layout_marginStart="28dp"
android:layout_marginTop="18dp"
android:layout_marginEnd="28dp"
app:layout_constraintTop_toBottomOf="@id/tv_score"
tools:background="@drawable/img_product" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_pager_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/bg_pager_num"
android:paddingStart="10dp"
android:paddingTop="4dp"
android:paddingEnd="10dp"
android:paddingBottom="4dp"
android:textColor="@color/colorWhiteFDFD"
app:layout_constraintEnd_toEndOf="@id/vp_viewpager"
app:layout_constraintTop_toTopOf="@id/vp_viewpager"
tools:text="1 / 9" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_favorite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
app:layout_constraintEnd_toStartOf="@id/iv_map"
app:layout_constraintHorizontal_chainStyle="packed"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/vp_viewpager"
app:srcCompat="@drawable/ic_good_off_detail" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_map"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="52dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="52dp"
app:layout_constraintEnd_toStartOf="@id/iv_share"
app:layout_constraintStart_toEndOf="@id/iv_favorite"
app:layout_constraintTop_toBottomOf="@id/vp_viewpager"
app:srcCompat="@drawable/ic_map_detail" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_map"
app:layout_constraintTop_toBottomOf="@id/vp_viewpager"
app:srcCompat="@drawable/ic_share_detail" />
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginStart="28dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="28dp"
android:background="@color/colorWhiteGrayF4F4"
app:layout_constraintTop_toBottomOf="@id/iv_share" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_per_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_16dp"
android:text="1박 기준"
android:textColor="@color/colorBlack2D2D"
android:textSize="@dimen/text_size_12sp"
app:layout_constraintStart_toStartOf="@id/vp_viewpager"
app:layout_constraintTop_toBottomOf="@id/view" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_work_hour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_2dp"
android:text="@{product.time}"
android:textColor="@color/colorOrangeF79256"
android:textSize="@dimen/text_size_16sp"
app:layout_constraintStart_toStartOf="@id/vp_viewpager"
app:layout_constraintTop_toBottomOf="@id/text_per_day"
tools:text="일손 4시간" />
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="@dimen/margin_18dp"
android:background="@drawable/bg_btn_normal_orange_radius_8dp"
android:gravity="center"
android:onClick="@{()->vm.goReservationFirst()}"
android:text="@string/reserve_text"
android:textColor="@color/colorWhiteFDFD"
app:layout_constraintBottom_toBottomOf="@id/tv_work_hour"
app:layout_constraintEnd_toEndOf="@id/vp_viewpager"
app:layout_constraintStart_toEndOf="@id/tv_work_hour"
app:layout_constraintTop_toTopOf="@id/text_per_day" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_hash_tags"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_32dp"
android:orientation="horizontal"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/vp_viewpager"
app:layout_constraintTop_toBottomOf="@id/tv_work_hour"
bind:setItems="@{product.hashTagList}"
tools:listitem="@layout/item_product_hash_tag" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_explanation"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_16dp"
android:text="@{product.content}"
android:textColor="@color/colorBlack2D2D"
app:layout_constraintEnd_toEndOf="@id/vp_viewpager"
app:layout_constraintStart_toStartOf="@id/vp_viewpager"
app:layout_constraintTop_toBottomOf="@id/rv_hash_tags"
tools:text="상품 설명 상세 설명 상품 설명 상세 설명 상품 설명
상품 설명 상세 설명 상품 설명 상세 설명 상품 설명
상품 설명 상세 설명 상품 설명 상세 설명 상품 설명" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_lodgement_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="24dp"
android:text="@string/lodgement_info_text"
android:textColor="@color/colorBlack2D2D"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_explanation" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/tmap"
android:layout_width="match_parent"
android:layout_height="@dimen/height_160dp"
android:layout_marginStart="28dp"
android:layout_marginTop="21dp"
android:layout_marginEnd="28dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_lodgement_info" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="28dp"
android:background="@drawable/bg_grayf4f4_radius_8dp"
android:paddingBottom="17dp"
app:cardCornerRadius="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tmap">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/address_text"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@+id/cl_info"
app:layout_constraintTop_toTopOf="@id/cl_info" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_address"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="32dp"
android:ellipsize="end"
android:maxLines="2"
android:text="@{product.address}"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="@id/cl_info"
app:layout_constraintStart_toEndOf="@id/text_address"
app:layout_constraintTop_toTopOf="@id/cl_info"
tools:text="주소입니다. 주소에요 . 주소라구요. 두
줄입니다." />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_tel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:text="@string/telephone_text"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@id/cl_info"
app:layout_constraintTop_toBottomOf="@id/tv_address" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_tel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:ellipsize="end"
android:singleLine="true"
android:text="@{product.phone}"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/text_tel"
app:layout_constraintTop_toTopOf="@id/text_tel"
tools:text="+821012345677" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_homepage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="12dp"
android:text="@string/homepage_text"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="@id/cl_info"
app:layout_constraintTop_toBottomOf="@id/text_tel" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_homepage"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="12dp"
android:layout_marginEnd="19dp"
android:ellipsize="end"
android:singleLine="true"
android:text="@{product.homePage}"
android:textColor="@color/colorBlack2D2D"
app:layout_constraintEnd_toEndOf="@id/cl_info"
app:layout_constraintStart_toEndOf="@id/text_homepage"
app:layout_constraintTop_toTopOf="@id/text_homepage"
tools:text="http://www.naver.com" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/iv_search_road"
android:layout_width="0dp"
android:layout_height="@dimen/height_44dp"
android:layout_marginStart="28dp"
android:layout_marginTop="12dp"
android:layout_marginEnd="28dp"
android:background="@drawable/bg_btn_orange_edge"
android:gravity="center"
android:text="길찾기"
android:textColor="@color/colorOrangeF79256"
android:textSize="@dimen/text_size_14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_info" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_facility"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="36dp"
android:text="@string/facility_text"
android:textColor="@color/colorBlack2D2D"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_search_road" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_internet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_facility"
app:srcCompat="@drawable/ic_internet" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_car"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="87dp"
app:layout_constraintStart_toEndOf="@id/iv_internet"
app:layout_constraintTop_toTopOf="@id/iv_internet"
app:srcCompat="@drawable/ic_car" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_store"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="8dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_internet"
app:srcCompat="@drawable/ic_store" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_dog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="87dp"
app:layout_constraintStart_toEndOf="@id/iv_store"
app:layout_constraintTop_toTopOf="@id/iv_store"
app:srcCompat="@drawable/ic_dog" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_housing_policy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="36dp"
android:text="@string/housing_policy_text"
android:textColor="@color/colorBlack2D2D"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_dog" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_policy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="28dp"
android:layout_marginTop="16dp"
android:layout_marginEnd="28dp"
android:background="@drawable/bg_garyf4f4f4"
android:paddingBottom="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/text_housing_policy">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_check_in"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/check_in_text"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@id/text_check_out"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/text_check_out"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="체크아웃"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/text_check_in"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_check_in_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="@{product.checkIn}"
android:textColor="@color/colorBlack2D2D"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="@id/text_check_in"
app:layout_constraintStart_toStartOf="@id/text_check_in"
app:layout_constraintTop_toBottomOf="@id/text_check_in"
tools:text="오전 9시" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_check_out_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_12dp"
android:text="@{product.checkOut}"
android:textColor="@color/colorBlack2D2D"
android:textSize="@dimen/text_size_14sp"
app:layout_constraintEnd_toEndOf="@id/text_check_out"
app:layout_constraintStart_toStartOf="@id/text_check_out"
app:layout_constraintTop_toBottomOf="@id/text_check_out"
tools:text="다음날 오전 11시" />
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/tv_tour_review"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_28dp"
android:layout_marginTop="@dimen/margin_32dp"
android:textColor="@color/colorBlack2D2D"
android:textSize="@dimen/text_size_18sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_policy"
tools:text="이 지역 여행기" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_reviews"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/margin_20dp"
android:orientation="vertical"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_tour_review"
tools:itemCount="1"
tools:listitem="@layout/item_lodgement_review" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_view_all_local"
android:layout_width="0dp"
android:layout_height="@dimen/height_44dp"
android:layout_marginTop="@dimen/margin_16dp"
android:layout_marginBottom="@dimen/margin_40dp"
android:background="@drawable/bg_btn_orange_edge"
android:gravity="center"
android:text="이 지역 여행기 전체보기"
android:textColor="@color/colorOrangeF79256"
android:textSize="@dimen/text_size_14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@id/vp_viewpager"
app:layout_constraintStart_toStartOf="@id/vp_viewpager"
app:layout_constraintTop_toBottomOf="@id/rv_reviews" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="1dp">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="match_parent"
android:layout_height="@dimen/height_64dp"
android:background="@color/colorOrangeF79256"
android:gravity="center"
android:onClick="@{()->vm.goReservationFirst()}"
android:text="@string/reserve_text"
android:textColor="@color/colorWhiteFDFD"
android:textSize="@dimen/text_size_14sp"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.appcompat.widget.LinearLayoutCompat>
</layout>
[길찾기]
searchDirection.observe(this@LodgmentDetailFragment, Observer {
val tMapTapi = TMapTapi(thisContext)
if (tMapTapi.isTmapApplicationInstalled) tMapTapi.invokeRoute(
productArg.product.address,
productArg.product.yPos.toFloat(),
productArg.product.xPos.toFloat()
)
else showToast(getString(R.string.please_install_tmap_text))
})
이상 간략하게 기록겸 정리해봤습니다.
감사합니다. !!
[참고]
tmapapi.sktelecom.com/main.html#android/guide/androidGuide.sample1
728x90
'안드로이드 > 코틀린 & 아키텍처 & Recent' 카테고리의 다른 글
[안드로이드] Android Material Calendar View 사용법 정리 (2) | 2020.09.09 |
---|---|
[안드로이드] 안드로이드 BottomSheetDialog 샘플 (with top radius)(feat. 네 아니요 질문, Ratingbar 점수주기) (0) | 2020.09.08 |
[안드로이드] 새로운 저장소 Jetpack DataStore (feat. Sharedpreferences 를 대체) (2) | 2020.09.03 |
[안드로이드] 안드로이드 AlarmManager 와 WorkManager 사용하여 10분전 알림 만들기 (8) | 2020.09.02 |
[안드로이드] 안드로이드 이중 어댑터(이중 리사이클러뷰) 구현 메모 (feat. 데이터바인딩) (0) | 2020.08.31 |
Comments