2011-06-29 15 views
5

तो मैं जो उपयोगकर्ता का स्थान ऐक्सेस और उसके बाद की व्याख्या (जियोकोडिंग रिवर्स) ऐप को बनाने वाली जियोकोडर बगल में उपयोगकर्ता के स्थान व्याख्या करने के लिए यह क्या है सेवा IOException और सेवा के साथ वास्तव में अविश्वसनीय होने के लिए अक्सर अनुपलब्ध है।सबसे अच्छा तरीका है इस तरह जियोकोडर साथ

मैंने जियोकोडर सेवा को स्पैमिंग करने के समाधानों को पढ़ा है जब तक कि यह नतीजा न दे, और अन्य कहते हैं कि सेवा केवल प्रत्येक 15 सेकंड में प्रति आईपी एडीआर को हिट करने की अनुमति देगी।

कभी-कभी मेरे डिवाइस को रिबूट करने से सेवा फिर से उपलब्ध हो जाएगी।

क्या इस विषय के लिए कोई और एपीआई या दृष्टिकोण है?

उत्तर

0

वहाँ एक समाधान है: android problem to get latitude & longitude from a given address

बस एक विकल्प का उल्लेख है, तो आप गूगल मैप्स 'बाकी आधारित reverse geocoder उपयोग कर सकते हैं। आप शायद इसे फ़ॉलबैक के रूप में उपयोग कर सकते हैं। के रूप में आप अपने ऐप में भी Google मानचित्र का उपयोग करेंगे, आपको एपीआई नियमों के साथ अच्छा होना चाहिए।

+1

एपीआई नियम बहुत सख्त हैं - 2500 जियोकोडिंग के लिए एक दिन का अनुरोध – Dori

-1
public void getAddress(double lat, double lng) { 
    Geocoder geocoder = new Geocoder(this, Locale.getDefault()); 
    try { 
     List<Address> addresses = geocoder.getFromLocation(lat, lng, 1); 
     Address obj = addresses.get(0); 
     String add = obj.getAddressLine(0); 
     GUIStatics.currentAddress = obj.getSubAdminArea() + "," 
       + obj.getAdminArea(); 
     GUIStatics.latitude = obj.getLatitude(); 
     GUIStatics.longitude = obj.getLongitude(); 
     GUIStatics.currentCity= obj.getSubAdminArea(); 
     GUIStatics.currentState= obj.getAdminArea(); 
     add = add + "\n" + obj.getCountryName(); 
     add = add + "\n" + obj.getCountryCode(); 
     add = add + "\n" + obj.getAdminArea(); 
     add = add + "\n" + obj.getPostalCode(); 
     add = add + "\n" + obj.getSubAdminArea(); 
     add = add + "\n" + obj.getLocality(); 
     add = add + "\n" + obj.getSubThoroughfare(); 

     Log.v("IGA", "Address" + add); 
     // Toast.makeText(this, "Address=>" + add, 
     // Toast.LENGTH_SHORT).show(); 

     // TennisAppActivity.showDialog(add); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show(); 
    } 
} 

इसका उपयोग करें जो आपको पूर्ण मदद कर सकता है।

+0

यह मेरे ओपी में उपरोक्त जैसा ही है। उत्तर देने से पहले कृपया पढ़ें, geocoder.getFromLocation IOException फेंक रहा है। –

-1

आपके कार्यान्वयन के कारण शायद आपको IOException और ServiceUnavailble मिल रहा है। http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html

और ओपनसोर्स (किसी API की तुलना में बेहतर है):

यह सबसे अच्छा अभ्यास का एक पढ़ा है!

+0

मैंने पहले से ही 2 बार पढ़ा है। यह मदद नहीं कर रहा है क्योंकि यह मेरे प्रश्न से अलग है। यह स्थान प्राप्त करने के बारे में नहीं है। मेरा स्थान सही ढंग से अधिग्रहण और अद्यतन किया गया है लेकिन मैं जियोकोडर के बिना इसकी व्याख्या नहीं कर सकता। –

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