2011-10-31 13 views
6

पर सर्वर से प्रतिक्रिया का विश्लेषण करने में असमर्थ मुझे पता है कि प्रश्न अक्सर पूछे जाने से पहले, लेकिन मैं किसी भी उत्तर या खोज परिणामों से समाधान प्राप्त करने में असमर्थ हूं। मैं जल्द से जल्द इस समस्या को हल करने के लिए है .. मैं अक्षांश और पते से देशांतर उपयोगकर्ता द्वारा दर्ज पाने के लिए कोशिश कर रहा हूँ, लेकिन मैं हो रही जारी रखने के लिए कर रहा हूँ:java.io.IOException: getFromLocationName()

: मैं इस कोड का उपयोग कर रहा

java.io.IOException: Unable to parse response from server 

 Geocoder geocoder = new Geocoder(this ,Locale.getDefault()); 
     String newAddress = (String)saveas.getText().toString(); 
     List<Address> addresses = geocoder.getFromLocationName(newAddress, 1); 

मैंने विभिन्न संभावित तरीकों से बहुत कोशिश की लेकिन कुछ भी काम नहीं करता ... डिफ़ॉल्ट नक्शा एप्लिकेशन अच्छी तरह से काम करता है, जब उपयोगकर्ता पता दर्ज करता है तो यह मानचित्र में उस पते को सफलतापूर्वक दिखाता है .. मैं वही कैसे कर सकता हूं .. ?

मैं सभी आवश्यक अनुमतियों को शामिल किया है और मैं असली डिवाइस पर परीक्षण कर रहा हूँ (संस्करण 2.3) ...

+0

यहां एडिटेक्स्ट सेव क्या है? – ingsaurabh

+0

हां, यह एक संपादन टेक्स्ट है .. –

+0

क्या आपने ग्रहण में इसे डिबग करने का प्रयास किया है या यह पता लगाने के लिए नए एड्रेस पर लॉग डाला है? – Sephy

उत्तर

0

मुझे पता है न ही यह BTW नीचे में मदद करता है अपने प्रोजेक्ट से टुकड़ा ठीक काम कर रहा सूट करने के लिए इसे संशोधित है

yourGeocoder = new Geocoder(this, Locale.CANADA); 

कृपया सबसे अच्छा मूल्य के साथ दूसरा पैरामीटर बदल देते हैं: अपनी आवश्यकताओं

String newAddress = saveas.getText().toString(); 
searchFromLocationName(newAddress); 


private void searchFromLocationName(String name){ 
try { 
    List<Address> result 
    = myGeocoder.getFromLocationName(name, MAX_RESULT); 

    if ((result == null)||(result.isEmpty())){ 
    Toast.makeText(AndroidgetFromLocationNameActivity.this, 
    "No matches were found or there is no backend service!", 
    Toast.LENGTH_LONG).show(); 
    }else{ 

    MyArrayAdapter adapter = new MyArrayAdapter(this, 
     android.R.layout.simple_list_item_1, result); 
    listviewResult.setAdapter(adapter); 

    Toast.makeText(AndroidgetFromLocationNameActivity.this, 
    "Finished!", 
    Toast.LENGTH_LONG).show(); 
    } 


} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
    Toast.makeText(AndroidgetFromLocationNameActivity.this, 
    "The network is unavailable or any other I/O problem occurs!", 
    Toast.LENGTH_LONG).show(); 
} 
} 
1

यदि आप जियोकोडर बनाते समय लोकेल पैरामीटर सेट उपयोगी हो सकता है।

मुझे लगता है कि डिफ़ॉल्ट लोकेल मान आपके द्वारा उपयोग किए जाने वाले मानचित्र क्षेत्र से संबंधित नहीं हो सकता है।

2

क्या आपने 3 जी कनेक्शन पर प्रयास किया है? मैंने देखा है कि यदि आप वाईफ़ाई से कई रिवर्स जियोलोकेशन अनुरोध भेजते हैं, तो ऐसा लगता है कि आपका आईपी थोड़ी देर बाद अवरुद्ध हो गया है और रिवर्स जियोलोकेशन समय के लिए प्रतिक्रिया नहीं देगा। 3 जी पर स्विच करने से अनुरोध मेरे लिए काम करता था जब मेरे पास समान समस्याएं होती थीं।

2

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

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

इंतजार ठीक

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

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

+0

धन्यवाद, यह मेरे लिए काम करता है! – kikettas

0

शायद आपका फोन कनेक्ट नहीं है और सर्वर से उत्तर पुनर्प्राप्त नहीं कर सकता है।

के रूप में समझाया here जियोकोडर

throws IOException if the network is unavailable or any other I/O problem occurs 
2

मैं एक ही मुद्दा संदर्भ बदल रहा है हल किया।

मैं उपयोग टुकड़ा, इसलिए मेरे कोड इस

public class SearchRoteFragment extends Fragment{ 

     @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.teste_mapa, container, false); 
     context = getActivity(); 
... 
} 

की तरह है और जब मैं geocode फोन मैं इस

Geocoder geoCoder = new Geocoder(context, Locale.getDefault()); 
0

मैं एंड्रॉयड 2.3.4 पर परीक्षण किया गया था, और करने में असमर्थ प्राप्त " सर्वर से अपवाद प्रतिक्रिया "अपवाद।

सुनिश्चित करें कि आपका Google मानचित्र काम कर रहा है, मेरा काम नहीं कर रहा था! एक बार Google मानचित्र ने काम करना शुरू कर दिया Geocoder ठीक था।

मैंने "वायरलेस नेटवर्क का उपयोग करें" & "स्थान & सुरक्षा" सेटिंग्स से "जीपीएस उपग्रहों का उपयोग करें" को टॉगल किया था।

संबंधित मुद्दे