2012-06-19 13 views
11

Tôi có hai thiết bị. Một là HTC WildFire S và một số khác là HTC 1V. Tôi đã sử dụng Geocoder.getFromLocationName() trong đơn đăng ký của mình. Nó đang chạy thành công trong lửa rừng HTC S. Nhưng trong số HTC 1V tôi gặp lỗi sau. tại sao nó đến? làm sao tôi có thể giải quyết việc này? xin vui lòng ai cũng có thể giúp tôi.android - Geocoder.getFromLocationName() không hoạt động trong thiết bị ICS

Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault()); 
//s is the address 
List<Address> addresses = geoCoder.getFromLocationName(s, 5); //Here i got the following Exception. 

Lỗi

06-18 16:28:17.933: W/System.err(4960): java.io.IOException: Service not Available 
06-18 16:28:17.953: W/System.err(4960):at android.location.Geocoder.getFromLocationName(Geocoder.java:178) 

Location Tab

enter image description here

+0

Đó chỉ là cảnh báo rằng trình mã hóa địa lý không khả dụng, bạn có thiết lập truy cập Internet trên One V không? Geocoder cần truy cập Internet để truy xuất kết quả. EDIT: Ứng dụng của bạn không bị rơi ở giai đoạn này phải không? –

+1

Có, tôi có quyền truy cập Internet. – naresh

+0

Có nhưng thiết bị có kết nối không? Bạn có thể duyệt web trên thiết bị tại thời điểm thử nghiệm của mình không? –

Trả lời

-1
GeoPoint point = new GeoPoint(
         (int) (LATITUDE * 1E6), 
         (int) (LONGITUDE * 1E6)); 

String n; 

public void someRandomMethod() { 
     n = convertPointToLocation(point); 
} 



public String convertPointToLocation(GeoPoint point) { 
     String address = ""; 
     Geocoder geoCoder = new Geocoder(
       getBaseContext(), Locale.getDefault()); 
     try { 
      List<Address> addresses = geoCoder.getFromLocation(
        point.getLatitudeE6()/1E6, 
        point.getLongitudeE6()/1E6, 1); 

      if (addresses.size() > 0) { 
       for (int index = 0; index < addresses.get(0).getMaxAddressLineIndex(); index++) 
        address += addresses.get(0).getAddressLine(index) + " "; 
      } 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
     } 

     return address; 
    } 
+1

Vui lòng không chỉ cung cấp mã cho câu trả lời của bạn. Tại sao đây là * câu trả lời *? –

+1

Mã này không liên quan đến sự cố ... – UmbySlipKnot

4

Cuối cùng tôi tìm thấy câu trả lời: https://code.google.com/p/android/issues/detail?id=38009

Khởi động lại thiết bị của bạn để Geocoder hoạt động. Hy vọng nó sẽ giúp ai đó

Lưu ý: một số người nói rằng nó sẽ hoạt động nếu bạn sử dụng API Google 16

+0

có thực sự hoạt động nếu tôi sử dụng Google API 16 không? với API 17 nó không hoạt động ... – UmbySlipKnot

+0

Lỗi này đã đến trong Google Map API V1 .. tôi đã thử nó trên Google Map v2 .. với một số thay đổi cú pháp của khóa học và nó hoạt động tốt trên tất cả các thiết bị Android. Lưu ý: Đối với Google MAp V2, bạn không còn cần phải nhập API Google –

+0

Trong ứng dụng của tôi với V2 Bản đồ, nó không hoạt động ... Bạn nhập vào loại nhập nào? – UmbySlipKnot