2013-06-19 3 views
5

मैं एक एंड्रॉइड ऐप के साथ काम कर रहा हूं जो एक आरईएसटी वेब सेवा के साथ बातचीत कर रहा है। Google मूल मानचित्र में कोई स्थान चुनने के लिए, और सर्वर पर भेजने के लिए हमारे पास फ़ोन में एक फ़ंक्शन है।एंड्रॉइड में लेट/लांग से पता या रीस्ट

किसी कारण से हमें प्रिंट करने के लिए वेबसाइट में उस बिंदु के लिए पता प्राप्त करने की आवश्यकता है।

यदि हमें जियोकोडर का उपयोग करके फोन में अक्षांश और दीर्घायु से पता मिलता है और इसे आरईएसटी को भेजता है, तो हमें फोन में कुछ मेमोरी, डेटा और बैंडविड्थ का उपभोग करने की आवश्यकता होती है।

यदि हम इसे आरईएसटी में करते हैं, क्योंकि यह आवेदन करने वाले कई उपयोगकर्ताओं के लिए किया जाना चाहिए, प्रक्रिया समय लेने वाली हो सकती है। (यही वह है जो हमारे आरईएसटी डेवलपर का मानना ​​है)

क्या आप मेरी राय के साथ मेरी मदद कर सकते हैं? कौन सा विचार बेहतर है और क्यों?

+0

मुझे इसी तरह की आवश्यकता थी, लेकिन मैं बाकी सेवाओं से लैट/लॉन वैल्यू पढ़ता था और फोन में पता प्रदर्शित करता था। क्या आप कई मूल्यों को पढ़ने की कोशिश कर रहे हैं ??? –

+0

मूल्य वेबसाइट में दिखाया जाना चाहिए। लेट/लांग फोन में पैदा हो रहे हैं। मैं सोच रहा हूं कि फोन में पता उत्पन्न करना बेहतर है या इसे आरईएसटी में करना बेहतर है। – Ali

+0

सेवा में प्रसंस्करण के बजाए फ़ोन में उत्पन्न करने के लिए बेहतर मुझे लगता है कि यह उस बैंडविड्थ का उपभोग नहीं करता है। –

उत्तर

1

इस समारोह

स्ट्रिंग getAddress (डबल अक्षां, डबल देशांतर) { स्ट्रिंग पता = "" का उपयोग करें;

GeoPoint point = new GeoPoint((int) (lat * 1E6), 
      (int) (lon * 1E6)); 

    Geocoder geoCoder = new Geocoder(mContext, 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; 
} 
+0

यह नहीं है कि मैं सवाल में क्या पूछ रहा हूं! – Ali

2

आप क्या कर रहे हैं "रिवर्स जियोकोडिंग" (https://developers.google.com/maps/documentation/geocoding/?hl=fr#ReverseGeocoding)

आप के बारे में कहा जाता है प्रश्न: मैं समझ गया कि यदि आप कुछ उपयोगकर्ताओं की स्थिति को जियोकोड रिवर्स और genrated पतों कई अन्य उपयोगकर्ताओं द्वारा उपयोग किया जाएगा कि ।

यह जानते हुए कि: 1. रिवर्स geoding महंगा है 2. प्राप्त पते के कई उपयोगकर्ताओं 3. द्वारा उपयोग किया जाएगा प्रत्येक उपयोगकर्ता उन पतों के कई का उपयोग करेगा तो फिर तुम यह सर्वर साइड करना चाहिए और डाल सभी एक संदेश में पते। यदि आप केवल उन्हीं के लिए पतों की संख्या सीमित कर सकते हैं, तो यह बेहतर होगा (संभवतः आपके पास वाले लोग, लेकिन आपकी ऐप सुविधाओं पर निर्भर करता है)

महत्वपूर्ण: मोबाइल पर, प्रदर्शन के लिए महत्वपूर्ण क्या नहीं है संदेशों की संख्या के बजाय स्थानांतरित डेटा की मात्रा: बैंडविड्थ अच्छा है लेकिन अंतराल भयानक है। तो अपने सर्वर एपीआई में, परमाणु संचालन से बचें और जितना अधिक समझ में आता है उतना ही!

0

आप इसे फोन के माध्यम से उपयोग कर सकते हैं। सेवा के माध्यम से उपयोग करने के अनुसार मेरे पास बहुत बैंडविड्थ लगेगा।

मेरा सुझाव है कि आप सीधे सेवा में इसका उपयोग करके फोन में उपयोग करें।

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