Android API के लिए स्थान वैकल्पिक रूप से हटाए गए हैं




google-maps-api-3 google-places-api (4)

मैं स्थान API को लागू करने का प्रयास कर रहा था। मेरा कोड इस तरह देखा:

val builder = PlacePicker.IntentBuilder()
startActivityForResult(builder.build(mActivity), PLACE_PICKER_REQUEST)

मेरे नक्शे क्रेडेंशियल सही थे, लेकिन इस कॉल के लिए मुझे मिला

Places API for Android does not seem to be enabled for your app. See https://developers.google.com/places/android/signup for more details.

हालांकि, जब मैंने "एंड्रॉइड के लिए स्थान एपीआई" को सक्षम करने का प्रयास किया, तो मुझे यह त्रुटि मिली।

इस पृष्ठ को देखने के लिए आपके पास पर्याप्त अनुमति नहीं है।

मैंने अपने खातों से लॉगिंग करने की कोशिश की, फिर से लॉग इन किया, गुप्त मोड, सफारी और क्रोम। कुछ भी काम नहीं किया इसलिए मैंने समर्थन से संपर्क किया, जो बहुत तेज़ थे (धन्यवाद दोस्तों!)

एंड्रॉइड एपीआई के लिए स्थानों को सक्षम करने का प्रयास करते समय आपको एक त्रुटि प्राप्त हो रही है, यह है कि इसे हटा दिया गया है। स्थान API सक्षम होने से Android के लिए स्थान कार्यक्षमता अब कवर हो जाएगी।

मैंने अपने कार्यान्वयन के बारे में पूछा और मुझे यह उत्तर मिला।

जगह लेने वाले को भी हटा दिया गया है। आप प्लेस पिकर का उपयोग जारी रखने के लिए संगतता लाइब्रेरी स्थापित कर सकते हैं जब तक कि 29 जुलाई को पदावनत अवधि समाप्त न हो जाए। इसके बारे में अधिक यहाँ लाल हो सकता है: https://developers.google.com/places/android-sdk/client-migration#place_picker

मेरे द्वारा ऑनलाइन खोजे जाने वाले दस्तावेज़ अब थोड़ा भ्रमित करने वाले हैं, क्या हटाए गए हैं और क्या नहीं है? क्या कोई इस तरह की कार्यक्षमता के लिए मुझे सही दिशा में इंगित कर सकता है?


कुंजियों को काम करना शुरू करने में थोड़ा समय लग सकता है। डॉक्स के अनुसार:

पूरी तरह से प्रावधान किए जाने के लिए 5 मिनट तक का समय लग सकता है। यदि कुंजी तुरंत काम नहीं करती है, तो 5 मिनट में फिर से प्रयास करें।

https://developers.google.com/places/android-sdk/signup


एंड्रॉइड के लिए Google Places SDK को संक्षिप्त किया गया है, इसलिए हमें स्थल API के लिए माइग्रेट करना होगा। नए स्थान API का उपयोग करके स्वतः पूर्ण स्थान लागू करने के लिए .. कृपया नीचे दिए चरणों का पालन करें।

पहले डेवलपर कंसोल में PlacesAPI को सक्षम करें, फिर ग्रेड में अपडेट करके क्लाइंट लाइब्रेरी स्थापित करें।

(नोट: आप केवल क्लाइंट लाइब्रेरी या कम्पैटिबिलिटी लाइब्रेरी स्थापित कर सकते हैं, दोनों नहीं)

implementation 'com.google.android.libraries.places:places:1.0.0'

अब Oncreate के अंदर कोड को इनिशियलाइज़ करें ();

 // Add an import statement for the client library.
    import com.google.android.libraries.places.api.Places;

    // Initialize Places.
    Places.initialize(getApplicationContext(), "***YOUR API KEY***");

   // Create a new Places client instance.
   PlacesClient placesClient = Places.createClient(this);

नए स्थान की शुरुआत की है ..

नीचे दिए गए कोड के लिए स्वत: पूर्ण स्थानों का उपयोग करें (आप स्वत: पूर्ण विराम का भी उपयोग कर सकते हैं)

// Set the fields to specify which types of place data to return.
List<Place.Field> fields = Arrays.asList(Place.Field.ID, Place.Field.NAME);
// Start the autocomplete intent.
Intent intent = new Autocomplete.IntentBuilder(
        AutocompleteActivityMode.FULLSCREEN, fields)
        .build(this);
startActivityForResult(intent, AUTOCOMPLETE_REQUEST_CODE);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == AUTOCOMPLETE_REQUEST_CODE) {
        if (resultCode == RESULT_OK) {
            Place place = Autocomplete.getPlaceFromIntent(data);
            Log.i(TAG, "Place: " + place.getName() + ", " + place.getId());
        } else if (resultCode == AutocompleteActivity.RESULT_ERROR) {
            // TODO: Handle the error.
            Status status = Autocomplete.getStatusFromIntent(data);
            Log.i(TAG, status.getStatusMessage());
        } else if (resultCode == RESULT_CANCELED) {
            // The user canceled the operation.
        }
    }
}
  • मेनिफेस्ट में सुनिश्चित करें
  • एपीआई कुंजी उत्पन्न।
  • देव कंसोल में स्थान एपीआई सक्षम है।

याद रखें (यदि आपने जोड़ा है)

implementation 'com.google.android.gms:play-services-places:16.0.0'

आवश्यक हेडर फाइलें

import com.google.android.libraries.places.api.Places;
import com.google.android.libraries.places.api.model.Place;
import com.google.android.libraries.places.api.net.PlacesClient;
import com.google.android.libraries.places.widget.Autocomplete;
import com.google.android.libraries.places.widget.AutocompleteActivity;
import com.google.android.libraries.places.widget.model.AutocompleteActivityMode;

आशा है यह मदद करेगा ..


Android के लिए स्थान SDK का Google Play Services संस्करण (Google Play Services 16.0.0 में) को 29 जनवरी, 2019 के रूप में दर्शाया गया है, और इसे 29 जुलाई, 2019 को बंद कर दिया जाएगा। और यदि आप Google API कंसोल के तहत जाँच करते हैं, इसमें केवल PLACES API है और ANDROID के लिए PLACES SDK जैसा कुछ भी नहीं है।

नए स्थानों के लिए माइग्रेशन गाइड एसडीके क्लाइंट लाइब्रेरी here पाया जा सकता here

या मेरे रेपो => NewGooglePlacesSDK में कस्टम कार्यान्वयन NewGooglePlacesSDK


Google ने स्थान SDK के लिए नए API प्रदान किए जाने के बावजूद, नई बिलिंग नीति के कारण वे प्लेस पिकर के लिए समर्थन छोड़ रहे हैं, और दो विकल्प हैं कि इसे कैसे संभालें

  1. आप नए एसडीके का उपयोग करके अपने स्वयं के द्वारा इस तर्क को लागू कर सकते हैं।

  2. या सौभाग्य से यह पिंग प्लेस पिकर पुस्तकालय है जो पुराने प्लेस पिकर के व्यवहार की नकल करता है।







googleplacesautocomplete