2012-05-23 5 views
1

내 앱에서 역 지오 코딩을 구현했으며 작동하지만 때로는 매우 이상한 문제가 발생합니다.역 지오 코딩 문제

코드는 첫 번째 부분에서

  List<Address> addresses = geo.getFromLocation(
        obj.getLatitude(), obj.getLongitude(), 1); 


      List<Address> address = geo.getFromLocationName(addresses.get(0).getLocality().getBytes() , 1); 


      Address location = address.get(0); 

내가 난있는 장소의 주소 개체를 얻을 수 있다는 것입니다. 내가 정확한 위치 좌표를 저장하고 싶지 않기 때문에 내가있는 곳에서 도시의 일반적인 좌표를 복구하고 싶다.

이것은 작동하지만 아주 이상한 문제가 발생합니다! fakegps 앱으로 앱을 사용해 보았을 때 "Ñuñoa"에서 내 위치를 설정했는데 첫 번째 주소가 올바르게 발견되었지만 일반적인 좌표를 얻으려고하면 칠레가 아니라 페루에있는 "누노아"가 나타납니다! ! 그건 말이 안돼! 왜 이걸?

도와 주셔서 감사합니다.

+0

해결했습니다. 안드로이드 API를 사용하고 도시 이름 만 입력하면 Google은 검색 결과에이 이름이 표시된 첫 번째 도시를 검색합니다! obj.getLocality() + ","+ obj.getAdminArea()의 연결 문자열을 작성하여 해결했습니다. – michoprogrammer

+0

전체 코드를 게시 할 수 있습니까? – swathi

답변

0

확실한 Swathi.

List<Address> addresses = geo.getFromLocation(msg_r.getLatitude(), 
       msg_r.getLongitude(), 1); 
     String geoL = addresses.get(0).getLocality() + ", " + addresses.get(0).getAdminArea() + ", " + addresses.get(0).getCountryCode(); 

       // reverse-reverseGeocoding 
       List<Address> address = geo.getFromLocationName(geoL, 1); 

       System.out.println("Where I am? " + geoL); 
       Address location = address.get(0); 

       // generic coordinate for the locality/city/town 
       location.getLatitude(); 
       location.getLongitude(); 
관련 문제