2015-10-02 12 views
5

मैं Google स्थल API के साथ संघर्ष कर रहा हूं, मुझे पता API का उपयोग करने की आवश्यकता है।Google एपीआई स्थान देता है, उपयोगकर्ता पते

मैं किसी कारण पता एपीआई काम नहीं कर रहा, तो स्वत: पूर्ण और placePicker एपीआई ठीक किया करते थे।

मैं इस https://developers.google.com/android/reference/com/google/android/gms/identity/intents/Address
के माध्यम से देख की कोशिश की है, लेकिन मैं समझ नहीं सकता पता एपीआई के लिए addApi() का उपयोग कैसे करें।

अगर कोई मुझे प्रारंभ करने के लिए कुछ उदाहरण कोड या कुछ प्रदान कर सकता है तो इसकी अत्यधिक सराहना की जाएगी।

अग्रिम धन्यवाद।

+0

क्या आप अपने जीपीएस सह-समन्वय प्राप्त करके उपयोगकर्ता का पता प्राप्त करना चाहते हैं? – penta

+0

नहीं, मैं बस 'requestUserAddress()' को कॉल करना चाहता हूं, इसलिए यह उपयोगकर्ता को अपने पते साझा करने के लिए संकेत देता है। –

उत्तर

0

पता एपीआई को जोड़ने के लिए आप इस तरह एक विकल्प जोड़ने की जरूरत:

Address.AddressOptions options = new Address.AddressOptions(AddressConstants.Themes.THEME_LIGHT); 
    mGoogleApiClient = new GoogleApiClient.Builder(this) 
     .addApi(Address.API, options) 
     .addConnectionCallbacks(this) 
     .addOnConnectionFailedListener(this) 
     .build(); 

तो फिर तुम पता अनुरोध कर सकते हैं:

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
     case REQUEST_CODE: 
      switch (resultCode) { 
       case Activity.RESULT_OK: 
        UserAddress userAddress = UserAddress.fromIntent(data); 
        //DO SOMETHING 
        break; 
       case Activity.RESULT_CANCELED: 
        break; 
       default: 
        //NO ADDRESS 
        break; 
      } 
      break; 
    } 
} 
:

UserAddressRequest request = UserAddressRequest.newBuilder().build(); 
     Address.requestUserAddress(mGoogleApiClient, request, 
       REQUEST_CODE); 

और फिर आप परिणाम प्राप्त

और इसे अपने ग्रेडल में जोड़ें:

compile 'com.google.android.gms:play-services-identity:8.1.0' 
+0

आपके उत्तर के लिए बहुत बहुत धन्यवाद, हालांकि एक मुद्दा और मुद्दा है। मुझे एपीआई कोड को 'फ्रैगमेंट एक्टिविटी' में लागू करने की आवश्यकता है, इसलिए मैं 'enableAutoManage() 'पर कॉल कर सकता हूं। साथ ही, 'गतिविधि' रिटर्न में अपना कोड लागू करना "पता एपीआई के लिए एक गतिविधि का उपयोग किया जाना चाहिए" अपवाद। –

+1

@MazenElian आप सही हैं, मुझे नहीं पता क्यों पता एपीआई सक्षम नहीं है Automanage(), दूसरों में एपीआई ठीक काम करता है, आप इस जवाब में एक समाधान मिल सकते हैं http://stackoverflow.com/questions/30622906/ का उपयोग कर-enableautomanage-इन-टुकड़ा – isma3l

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