Google Places-API für Android-Fehler: Status{statusCode=NETWORK_ERROR, Auflösung=null}
Ich habe ein Projekt erstellt unter der google developer-Konsole und wollte die Verwendung von Google Places API für Android. Ich konnte die API und Integration in mein android-Anwendung, wie pro die Richtlinien, die auf Google-Entwickler-website (https://developers.google.com/places/android/start). Die API gibt diesen Fehler, und nach Stunden (und Tage) Fehlersuche und recherche im internet konnte ich nicht, das problem einzugrenzen. Führt würde geschätzt werden, über das warum dieser Fehler kommt.
Fehler: Status{statusCode=NETWORK_ERROR, resolution=null}
Im folgenden wird die Funktion aus dem google-Beispiel-code, wo Orte "Auto-Vervollständigen" aufgerufen.
private ArrayList<PlaceAutocomplete> getAutocomplete(CharSequence constraint) {
if (mGoogleApiClient != null) {
Log.i(TAG, "Starting autocomplete query for: " + constraint);
//Submit the query to the autocomplete API and retrieve a PendingResult that will
//contain the results when the query completes.
PendingResult<AutocompletePredictionBuffer> results =
Places.GeoDataApi
.getAutocompletePredictions(mGoogleApiClient, constraint.toString(),
mBounds, mPlaceFilter);
//This method should have been called off the main UI thread. Block and wait for at most 60s
//for a result from the API.
AutocompletePredictionBuffer autocompletePredictions = results
.await(60, TimeUnit.SECONDS);
//Confirm that the query completed successfully, otherwise return null
final Status status = autocompletePredictions.getStatus();
if (!status.isSuccess()) {
Toast.makeText(getContext(), "Error contacting API: " + status.toString(),
Toast.LENGTH_SHORT).show();
Log.e(TAG, "Error getting autocomplete prediction API call: " + status.toString());
autocompletePredictions.release();
return null;
}
Log.i(TAG, "Query completed. Received " + autocompletePredictions.getCount()
+ " predictions.");
//Copy the results into our own data structure, because we can't hold onto the buffer.
//AutocompletePrediction objects encapsulate the API response (place ID and description).
Iterator<AutocompletePrediction> iterator = autocompletePredictions.iterator();
ArrayList resultList = new ArrayList<>(autocompletePredictions.getCount());
while (iterator.hasNext()) {
AutocompletePrediction prediction = iterator.next();
//Get the details of this prediction and copy it into a new PlaceAutocomplete object.
resultList.add(new PlaceAutocomplete(prediction.getPlaceId(),
prediction.getDescription()));
}
//Release the buffer now that all data has been copied.
autocompletePredictions.release();
return resultList;
}
Log.e(TAG, "Google API client is not connected for autocomplete query.");
return null;
}
AndroidManifiest.xml Berechtigungen
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
Noch nicht. Denken mit dem server-API-Aufruf statt.
Ist Ihre mPlaceFilter == null?
Versuchen Sie, machen es zu null. Für mich ist es problem behoben.
Filter sind ... sagen wir noch immer in der Entwicklung für jetzt github.com/googlesamples/android-play-places/issues/6
InformationsquelleAutor Sharief Shaik | 2015-04-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie setzen
null
statt AutocompleteFilter Eigenschaft ingetAutocompletePredictions
Methode, wenn Sie möchten, um Vorhersagen für alle Arten.Tatsächlich weiß ich nicht Grund. Außerdem muss ich den Filter benutzen, wissen aber nicht heiß.
hat bei mir nicht funktioniert. U tun haben Sie irgendwelche anderen Vorschläge?
Ich bin mit einer ähnlichen Art von problem, aber nicht genau das gleiche - stackoverflow.com/questions/31640783/... Wer, bitte helfen?
Funktioniert nicht auf einigen Geräten.
InformationsquelleAutor Eldar Miensutov
Himanshu ist richtig; es passiert mir auch, ich wollte zu filtern, die von Städten und fügte hinzu:
dieses Ergebnis in Status{statusCode=NETWORK_ERROR, Auflösung=null}
Nicht alle Konstanten aus
Place
sind erhältlich für die Filterung mit AutocompleteFilter, sind nur zwei verfügbar auf Android:Place.TYPE_GEOCODE
undPlace.TYPE_ESTABLISHMENT
('Adresse' in der Dokumentation zu sehen, aber nicht als Konstante inPlace
)Sorgfältig zu Lesen hier:https://developers.google.com/places/supported_types#table3
Wenn eine andere Konstante (z.B.
Place.TYPE_LOCALITY
) verwendet werden, die Anfrage wird in einem verwirrenden status Fehler.InformationsquelleAutor ciprian
InformationsquelleAutor rajeesh
Für mich, ich hatte meta-tag für die Karte und die Geo.
dann habe ich entfernt, Map, meta-und dann begann es zu arbeiten.
InformationsquelleAutor Tarun Varshney
Problem mit Ihrem code könnte sein, dass Sie über Ort, Art, andere als Einrichtung, Adresse und geo-code in Ihre AutoCompleteFilter. Wie jetzt nur diese drei werden unterstützt. Code-Teile von Google docs.
InformationsquelleAutor Himanshu Virmani
Ich denke, Sie sollten veröffentlichen Sie Ihre manifest-Berechtigungen.
Überprüfen Sie auch diese. Ähnliche Fehlermeldung durch falschen package-Namen in das google-Konsole
InformationsquelleAutor X3Btel