카드뷰 출력 > QnA

본문 바로가기
사이트 내 전체검색

QnA

안드로이드 카드뷰 출력

페이지 정보

profile_image
작성자 phjin0628
댓글 6건 조회 135회 작성일 21-04-27 21:09

본문

댓글목록

profile_image

Scott님의 댓글

Scott 작성일

음 해당 코드는 앞에 보시면 markerOption 을 생성해서 marker에 담는 부분이 있습니다.
val markerOptions = MarkerOptions() //핀
markerOptions.title(document.id) //공원 이름

여기서 document.id 대신에 Ddu에 있는 description 또는 Name 을 담으신 후에
(그러면 marker.title에 그 값이 들어가게 되고)

var carmapdescription.text 에 marker.title 을 넣으면 될것 같군요

profile_image

phjin0628님의 댓글의 댓글

phjin0628 작성일

val marker=MarkerOptions()
                    .title(car.Name)

var carmapname = findViewById<TextView>(R.id.name) //textview id값을 name으로 설정한 것 첫번째 사진
                carmapname.text = marker.title

이렇게 해서  .title(car.Name)의 정보를 띄우긴 했는데
나머지 description, sink, toilet 이 값들도 인식되게 하려면 arraylist로 묶어야하나요? 해당 코드를 모르겠습니다

profile_image

Scott님의 댓글의 댓글

Scott 작성일

전에 올리신 링크에 보면 중간에 잘 나와 있습니다
아래와 같은 모양인데
-----
marker.tag =
document.data["address(lot)"] as String + "/" +
document.data["address(road)"] as String + "/" +
document.data["phoneNumber"] as String + "/" +
document.data["Equipment"] as String
-----
마커option에는 기본적으로 title 이나 snippet 이외에는 값을 담을 수 없기 때문에
val marker = mMap.addMarker(마커옵션)
marker.tag 에 문자열로 넣어서 사용합니다.
지금 코드에서 사용하신다면
-----
marker.tag = "${디디유.description}/${디디유.sink}"
-----
형태로 값을 넣어 넣고
사용할 때는
-----
val tempArray = (marker.tag as String).split("/).
                                    // tag가 자바에서는 Object 코틀린에서는 Any 이기 때문에 문자열인 String 으로 변환해서 잘라야 합니다
-----
으로 잘라서 사용할 수 있을것 같습니다.

예제의 형태를 설명 드린거고, 다른 방법들도 고민해 보시면 좋을것 같습니다.

예)  마커의 아이디를 넣어두고 사용할 수도 있을것 같습니다.
marker.tag 에 ddu의 index 나  id가 되는 값을 넣어둔후, 비교해서 꺼낼 수도 있으니까요.

profile_image

phjin0628님의 댓글의 댓글

phjin0628 작성일

fun ShowCar(Cars:CarMapJson){
        val latLngBounds= LatLngBounds.Builder()

        for(car in Cars.ddu){

            val position=LatLng(car.latitude.toDouble(),car.longitude.toDouble()) //position은 위도 경도

            val marker=MarkerOptions()
                    .position(position)
                    .title(car.Name)

            mMap.addMarker(marker)
            latLngBounds.include(marker.position)

            val marker1: Marker = mMap.addMarker(marker) //**부분
            marker1.tag = "${car.description}/${car.toilet}/${car.sink}/${car.tap_water}"
        }



        val positionss=LatLng(37.20917443124407, 126.976336711454)
        val cameraUpdate = CameraUpdateFactory.newLatLngZoom(positionss,10.0F)
        mMap.moveCamera(cameraUpdate) //(updated)



        mMap!!.setOnMarkerClickListener(object : GoogleMap.OnMarkerClickListener {
            override fun onMarkerClick(marker: Marker): Boolean {
                card_view.visibility = View.VISIBLE
                var carmapname = findViewById<TextView>(R.id.name)
                var carmapdescription = findViewById<TextView>(R.id.description)
                var carmaptoilet = findViewById<TextView>(R.id.toilet)
                var carmapsink = findViewById<TextView>(R.id.sink)
                var carmaptap_water = findViewById<TextView>(R.id.tap_water)
                carmapname.text = marker.title

                val tempArray = (marker.tag as String).split("/") //**부분
                carmapdescription.text = tempArray[0]
                carmaptoilet.text = tempArray[1]
                carmapsink.text = tempArray[2]
                carmaptap_water.text = tempArray[3]

                return false//잘해보자
            }
        })

profile_image

phjin0628님의 댓글

phjin0628 작성일

//** 부분이 새롭게 고친 부분인데 이렇게 해서 실행하면
carmapname.text = marker.title도 출력이 되다가 안되고
val tempArray = (marker.tag as String).split("/") 부분 밑에 코드들도 값을 못받아오는것 같습니다
잘못된 부분이 있나요?

profile_image

Scott님의 댓글의 댓글

Scott 작성일

val marker=Marker....

다음에 바로 mMap.addMarker() 를 한번 하는 군요

지워보세요

혹은 아래걸 지우고 위에서 val marker1 으로 사용하셔도 되구요

회원로그인

회원가입

Site info.

Team Flow9
Address : 10, Gukjegeumyung-ro, Yeongdeungpo-gu, Seoul, Republic of Korea
Contact : flow9.net@gmail.com

접속자집계

오늘
175
어제
346
최대
549
전체
102,764
Copyright © flow9.net All rights reserved.