2014-04-16 5 views
0

마커를 사용하여 역 지오 코딩입니다. 마커 위치에 따라 다르므로 경도와 위도가 표시되어 지오 코더에서 주소를 가져옵니다. 문제는 일부 위치에서 마커가 잘못된 주소를 얻는다는 것입니다. 지역은 정확할 수 있지만 나머지 'Street'등은 정확하지 않으며 때로는 주소가 전혀 표시되지 않는 경우에도 TextView는 이전 입력을 유지합니다. 다음은 역 지오 코딩 문제

마커에 대한 내 끌기에 청취자입니다 :

geocoder.getFromLocation(position.latitude,position.longitude,0);

그것은 당신의 코드와는 아무 상관이없는, 내가 그것을 어떻게 했어 코드 줄에보고 된 버그가 있었다

public void onMarkerDragEnd(Marker marker) { 


       LatLng position = marker.getPosition(); 



       Geocoder geocoder = new Geocoder(MainActivity.this); 
       TextView textView1 = (TextView)findViewById(R.id.textView1); 
       try 
       { 
         List<Address> addresses = geocoder.getFromLocation(position.latitude,position.longitude,0); 
         for(Address address : addresses) 
         { 
           if(address.getLocality()!=null) 
           { 


             SubStreetNumber = address.getSubThoroughfare(); 
             Street = address.getThoroughfare(); 
             Area = address.getSubLocality(); 
             City = address.getLocality(); 
             PostCode = address.getPostalCode(); 
             break; 
             } 


           textView1.setText(SubStreetNumber + ", " + Street + ", " + City + ", " + PostCode);  

         } 

         } 

       catch(IOException ioException) 
       { 
         Log.e("MyApp","Exception",ioException); 
       } 
      } 

답변

1

나에게도. 일부 장치에서는 작동하고 일부는 그렇지 않을 때도 있고 때로는 작동하고 때로는 장치에서 작동하지 않는 경우도 있습니다.

당신이 어떤 서비스에 연결하는 데 실패한다는 당신의 로그 캣에 노란 선이있을 것입니다주의 경우

...이 감사

+0

하지만 난 여전히 내 코드의 일부를 생각한다. Beacuse 언젠가는 그 logcat 오류가 서비스에 연결하지 못했습니다. '0'은 'position.logitude'다음에 올 올바른 값입니다. – user3247335