Tech. Forum 개발자들을 위한 정보 공유의 장입니다
닫기

Tech.Forum

Tmap 주소 검색이 한번에 되지 않습니다.

#1

주소를 검색하여 그에 관련된 주소를 찾기위해 addAddress 부분에서 onFindAllPOI를 이용하여 isEmpty()함수를 이용하여 함수가 불려지는 횟수를 보니 1번에 불러오지못하고, 수십번진행되어 어떤 경우에는 리스트에 등록이 되고, 어떤 경우에는 오류가 나서 어플리케이션이 꺼지는 경우가 생깁니다.

public class MainActivity extends AppCompatActivity {

private ArrayList adrlist = new ArrayList();
private TMapData tMapData;

private TMapView tMapView;
private EditText start;
private TextView arrival;
private Button startButton;
private Button arrivalButton;
private Button button;

int temp = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

    button = (Button) findViewById(R.id.button);
    start = (EditText) findViewById(R.id.start);
    arrival = (TextView) findViewById(R.id.arrival);
    startButton = (Button) findViewById(R.id.startbutton);
    arrivalButton = (Button) findViewById(R.id.arrivalbutton);
    tMapData = new TMapData();

    LinearLayout linearLayoutTmap = (LinearLayout)findViewById(R.id.linearLayoutTmap);

    tMapView = new TMapView(this);

    tMapView.setSKTMapApiKey("-------");
    linearLayoutTmap.addView(tMapView);

    
    startButton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            addAddress(start.getText().toString());
        }
    });
 }

    public void addAddress(String data){
    tMapData.findAllPOI(data, new TMapData.FindAllPOIListenerCallback() {
        @Override
        public void onFindAllPOI(ArrayList<TMapPOIItem> poiItem) {
            adrlist.clear();
            for(int i = 0; i < poiItem.size(); i++){
                TMapPOIItem item = poiItem.get(i);
                String address = item.getPOIName();
                adrlist.add(address);
            }
        }
    });
    temp++;
    if(adrlist.isEmpty())
    {
        Log.d("asdf", "addAddress: "+temp);
        addAddress(data);
    }
}

}

0 Likes

#2

안녕하세요.
T map API 운영담당자 입니다.

보내주신 내용을 토대로 테스트 해본 결과 정상적으로 배열에 값을 들어가는 것을 확인하였습니다.

오류가 발생했을 때의 정확한 로그 내용과 addAddress 함수 실행 시 파라미터를 보내주시면 검토 후 답변드리도록 하겠습니다.

감사합니다.

0 Likes