마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안스 구글맵 마커 정보 배열 처리

0 추천

구글맵에 마커를 찍어서 마커를 클릭하면 정류장명, 시간, 진입방향 등을 배열에 넣어서

삭제나 다른 액티비티로 넘기는 등의 행동을 하고싶습니다.

그런데 맨땅에 헤딩식으로 하다보니까 어떻게 해야할지 조차 감이 안잡혀서 질문드립니다ㅠ 이런 부분들은 검색해도 많이 안나오더라구요ㅠㅠ

먼저 위의 정보들을 받아올 클래스를 하나 만들어서

public final class StopData {
    public double lng;
    public double lat;
    public String stop_name;
    public Directions direction;
    public int arrivalTime;
    public int seq;}
 public enum Directions
    {
        left,right,forward,bak
    }....



이런식으로 만든다음

ArrayList aa = new ArrayList();
mGoogleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
    @Override
    public void onMapClick(LatLng latLng) {
        //add marker
        MarkerOptions marker = new MarkerOptions();
        marker.position(latLng);
        mGoogleMap.addMarker(marker);

        
        polylineOptions = new PolylineOptions();
        polylineOptions.color(Color.RED);
        polylineOptions.width(5);
        arrayPoint.add(latLng);
        polylineOptions.addAll(arrayPoint);

        mGoogleMap.addPolyline(polylineOptions);

        StopData dat =  new StopDate(위치,이름,....);}

인데 여기까지가 책보고 인터넷 보면서 어찌저찌 이런식으로 하면 될까 싶은 것들인데 이 이상 생각을 잘 못하겠습니다 ㅠㅠ

간추리자면

1. 마커에서 정류장명, 시간(사용자가 직접 넣는식), 진입방향을 넣는 것은 edittext로 처리하는 게 맞나요?

2. 위에 입력된 값들을 어떻게 처리를 해야할지 모르겠습니다.(값을 어떻게 받아와서 활용해야할지)

예시 코드가 있으면 가장 좋을 것 같으며 여의치 않으시다면 말로 설명해주시거나 어느부분을 더 공부해봐라도 좋습니다ㅠㅠ..부탁드립니다ㅠㅠ

률이 (140 포인트) 님이 2018년 11월 8일 질문

1개의 답변

0 추천

1. 사용자 입력값은 Edittext처리가 맞습니다. 

2. 정류장이름, 도착시간, 진입 방향 이런것들은 공공데이터API에서 받아오는 데이터 일텐데요...이값을 사용자가 입력하는건 어떤 목적이신지를 몰라서 ㅎㅎ;  여튼, 이 데이터들을 지금 코드처럼 클래스를 하나 만드신 후 그 클래스에 데이터를 받아넣으면 모든 정보들이 StopData 클래스에 들어가 있을거에요. 그럼 그 클래스 내부에 getter/setter를 생성하시면 각각의 데이터를 따로따로 꺼내고 변경할수있게되죠. 예를 들면 StopData.getBusstaionName(); 이런식으로 정류장 이름값만 따로 빼올 수 있게되요. 

이후에 구글맵 마커 옵션을 구글링해보시면 타이틀이라던지, 마커이미지라던지 이런걸 커스터마이징 할 수 있거든요. 그럼 각 get으로 빼온 변수들을 마커별로 따로 지정해주시면 될 것같습니다. 저도 아직 배우는중이라 도움이 많이 못되는것 같지만 저런식으로 코딩 많이들 하는것 같아 적어봅니다.

http://javaexpert.tistory.com/221 이 링크는 은행지점 데이터들 받아서 여러개 찍어준 예제니 이것도 활용해보세요. 

익명사용자 님이 2018년 11월 8일 답변
2018년 11월 8일 수정
답변 감사합니다! 그러나 제가 하는것은 공공데이터 API가 아닌 사용자가 직접 정류장을 만드는 개념이여서요ㅠㅠ! 그래도 getter setter이랑 받아오는 식의 방식은 정말 도움 많이 되었답니다! 감사합니다 :-)~
...