2012-05-17 11 views
11

मैं भौगोलिक पतों प्राप्त करने के लिए इस कोड का उपयोग कर रहा पार्स करने में अक्षम IOException:जावा कब सर्वर जियोकोडर से प्रतिक्रिया

private String getAddress(Location location) 
{ 
    try{ 
     List<Address> addresses = new Geocoder(this,Locale.getDefault()).getFromLocation(location.getLatitude(), location.getLongitude(), 1); 
     if(addresses!=null) 
     { 
      String address="Address not available"; 

      for(int i=0;i<addresses.size();i++) 
      { 

       Address addre=addresses.get(i); 

       String street=addre.getAddressLine(0); 
       if(null==street) 
        street=""; 

       String city=addre.getLocality(); 
       if(city==null) city=""; 

       String state=addre.getAdminArea(); 
       if(state==null) state=""; 


       String country=addre.getCountryName(); 
       if(country==null) country=""; 

       address=street+", "+city+", "+state+", "+country; 

      } 
      return address; 
     } 

    } 
    catch (Exception e) { 
     return "Address not available"; 
    } 
    return "Address not available"; 
} 

इससे पहले मैं हो रही थी एक पता सूची लौट आए, लेकिन अब मैं, इस अपवाद मिलता है, हर बार:

java.io.IOException unable to parse response from server 

कृपया मदद करें।

+0

... तो दो संभावनाएं हैं: 1: नेटवर्क स्थिति बदल गई और आपको सर्वर से प्रतिक्रिया नहीं मिल रही है। या, 2: आपने अपना कोड तोड़ने वाले कुछ को बदल दिया है। आप वापस क्यों नहीं जाते हैं और सुनिश्चित करते हैं कि आपने अभी तक काम करने के समय से कुछ भी नहीं बदला है। यदि सब कुछ अच्छा है, तो सुनिश्चित करें कि आप वास्तव में नेटवर्क पर सर्वर तक पहुंच सकते हैं हालांकि अन्य साधन। यदि आपको अभी भी समस्याएं आ रही हैं, तो हमें अपना कोड और लॉगकैट दिखाएं (= – dcow

+0

पिछले और वर्तमान कोड 100% समान –

+0

तो क्या आपने अन्य चीजों को सुझाया है? – dcow

उत्तर

6

अंत में मुझे अपनी समस्या का समाधान मिला।

आप सर्वर पता प्राप्त करने से अक्षां के लिए बहुत बार (एक मिनट में कई बार) प्राप्त करने का प्रयास करते हैं, तो लंबे समय तक तो आप प्राप्त कर सकते हैं इस समस्या के इस अपवाद समाधान हो सकता है:

1-कृपया कोशिश एक मिनट में पते के लिए कई हिट से बचने के लिए।
2-इस डिवाइस को विभिन्न डिवाइस पर चलाएं।

यदि आप इस कोड को उसी डिवाइस पर चलाने के लिए चाहते हैं तो अपने ऐप डेटा को साफ़ करें (या अपने ऐप को अनइंस्टॉल करें) और कुछ समय प्रतीक्षा करें।

+0

मैंने इसे दो डिवाइस मोटोरोला और सैमसंग में परीक्षण किया है। मोटोरोला के लिए मैं डेटा प्राप्त करने में सक्षम हूं लेकिन सैमसंग डिवाइस के लिए भी मैं इसे ठीक करने में असमर्थ हूं। क्या आपको इसे ठीक करने का कोई और तरीका मिला। – John

+0

@ अतुल भारद्वाज: मुझे भी एक ही समस्या का सामना करना पड़ रहा है, अभी भी हल करने की कोशिश कर रहा है लेकिन कोई भाग्य नहीं है। –

+0

जैसा कि जॉन ने उल्लेख किया है, कुछ डिवाइसों पर कुछ उपकरणों पर काम नहीं कर रहा है। डिवाइस के कुछ समय/रीबूट के बाद डिवाइसों पर काम करने के लिए समान कार्यक्षमता होती है जो पहले नहीं थे। बहुत अजीब लग रहा है! क्या किसी को इसे ठीक करने का कोई तरीका है? –

2

मुझे अपने सैमसंग गैलेक्सी टैब 10.1 के साथ एक ही समस्या थी। मैं समाधान के लिए घंटों की खोज करता हूं और कुछ भी मदद नहीं करता है। स्थान सेटिंग पर

जाओ और सक्षम: मुद्दों निम्न प्रयास ठीक करने के लिए जीपीएस स्थान के लिए

इंतजार ठीक

इसके बाद 2.Use जीपीएस उपग्रह

वायरलेस नेटवर्क 1.Use, जियोकोडर सर्वर प्रतिक्रिया व्यक्त की। यहां तक ​​कि जब मैंने वायरलेस और जीपीएस स्थान अक्षम कर दिया, सर्वर भी काम कर रहा था। मुझे लगता है कि यदि आप Google के साथ अपना स्थान साझा करते हैं तो जियोकोडर का उपयोग केवल तभी किया जा सकता है।

0

मेरे समाधान किया गया था: जियोकोडर

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
0

मुद्दे के मेरे कारण। मैं इस अनुमति

जोड़ा android.permission.WRITE_EXTERNAL_STORAGE

और यह अच्छी तरह से काम किया।

0

मैं एक ही समस्या हो रही थी के लिए उचित अनुमतियाँ नहीं होने दिया गया था

Settings > Date & Time > Automatic date & time (Use network-provided time) 
संबंधित मुद्दे