02/05/2015
Die Google Places API ist ein mächtiges Werkzeug für Entwickler, die standortbasierte Informationen in ihre Anwendungen integrieren möchten. Ob es darum geht, das nächste Restaurant, ein gemütliches Café oder ein faszinierendes Museum zu finden – die API liefert eine Fülle von Daten. Doch oft stoßen Entwickler auf Herausforderungen, insbesondere wenn es darum geht, spezifische Informationen wie die genaue Küchenart eines Restaurants zu ermitteln oder Suchergebnisse zu filtern. Dieser Artikel beleuchtet diese gängigen Probleme und bietet praktische Lösungsansätze, um das volle Potenzial der Google Places API auszuschöpfen.

- Das Rätsel der Küchenart: Mehr als nur „Restaurant“
- Gezielte Suche: Cafés, Restaurants und Museen filtern
- Herausforderung „ZERO_RESULTS„: Wenn nichts gefunden wird
- Vergleich: Google Places API Suchmethoden
- Häufig gestellte Fragen (FAQs)
- F: Kann ich die genaue Küchenart (z.B. „italienisch“, „mexikanisch“) direkt über die Google Places API abrufen?
- F: Ist die Google Business Profile API die Lösung, um detailliertere Restaurantinformationen zu erhalten?
- F: Wie viele Orte kann die Google Places API maximal zurückgeben?
- F: Warum erhalte ich „ZERO_RESULTS„, obwohl ich weiß, dass es Orte an diesem Standort gibt?
- F: Gibt es eine Möglichkeit, nur Orte mit spezifischen Bewertungen (z.B. 4 Sterne und höher) zu filtern?
- Fazit
Das Rätsel der Küchenart: Mehr als nur „Restaurant“
Eine der häufigsten Fragen, die sich bei der Nutzung der Google Places API stellt, ist die nach der spezifischen Küchenart eines Restaurants. Während die API „Grundtypen“ wie „restaurant“, „food“ oder „establishment“ zurückgibt, ist dies für eine detaillierte Benutzererfahrung oft nicht ausreichend. Nutzer möchten wissen, ob es sich um ein italienisches, mexikanisches, chinesisches oder Sushi-Restaurant handelt, nicht nur um ein „Restaurant“.
Warum die „types„-Feld nicht ausreicht
Das Feld types in den Google Places API-Ergebnissen ist darauf ausgelegt, breite Kategorien von Orten zu liefern. Die Liste der unterstützten Typen ist zwar umfangreich, aber sie enthält keine feinkörnigen Klassifizierungen wie „italienische Küche“ oder „Sushi-Bar“. Dies liegt daran, dass Google diese spezifischen Informationen oft aus verschiedenen Quellen aggregiert, darunter Nutzerbewertungen, Geschäftsattribute, interne Klassifikationen und sogar die Beschreibungen der Unternehmen selbst. Diese internen Tags sind nicht immer direkt über die öffentliche Places API zugänglich.
Lösungsansätze zur Ermittlung der Küchenart
Da es kein direktes Feld für die Küchenart gibt, müssen Entwickler kreativ werden und verschiedene Datenpunkte kombinieren, um die gewünschten Informationen abzuleiten:
1. Nutzung der Place Details API
Nachdem Sie eine Liste von Orten über nearbySearch oder textSearch erhalten haben, können Sie für jeden interessanten Ort eine detailliertere Abfrage mittels der Place Details API durchführen. Diese Anfrage liefert eine umfassendere Menge an Informationen, die Hinweise auf die Küchenart geben können:
- Name des Ortes (
name): Viele Restaurants integrieren die Küchenart direkt in ihren Namen, z.B. „Pasta e Basta – Italienisches Restaurant“ oder „Sushi House Tokio“. Eine einfache Textanalyse des Namens kann hier erste Hinweise liefern. - Redaktionelle Zusammenfassungen (
editorial_summary): Dieses Feld, falls vorhanden, kann kurze, von Google erstellte Beschreibungen enthalten, die oft die Art des Angebots erwähnen. - Bewertungen (
reviews): Obwohl dies komplexer ist, können Sie die Texte der Nutzerbewertungen analysieren. Begriffe wie „leckere Pizza“, „authentische Tacos“ oder „frisches Sushi“ sind starke Indikatoren für die Küchenart. Dies erfordert jedoch eine fortgeschrittene Textanalyse (Natural Language Processing – NLP). - Öffnungszeiten und Beliebtheit (
opening_hours,user_ratings_total,price_level): Obwohl nicht direkt die Küche betreffend, können diese Informationen indirekt helfen, das Profil eines Restaurants zu verfeinern (z.B. ein gehobenes Restaurant mit hoher Preisstufe könnte eine andere Küche haben als ein günstiges Imbisslokal).
2. Schlüsselwortsuche mit textSearch
Wenn Sie bereits eine Vorstellung von der gewünschten Küchenart haben, können Sie die textSearch-Methode der Places API nutzen und die Küchenart als Teil Ihrer Suchanfrage angeben. Zum Beispiel statt nur „Restaurant in Berlin“ könnten Sie „Italienisches Restaurant in Berlin“ oder „Sushi Berlin“ suchen. Dies filtert die Ergebnisse bereits auf API-Ebene vor und liefert relevantere Treffer.
3. Google Business Profile API (ehemals Google My Business API)
Es ist ein weit verbreitetes Missverständnis, dass die Google Business Profile API für die Abfrage von detaillierten Geschäftsinformationen für Dritte gedacht ist. Dies ist nicht der Fall. Die Google Business Profile API ist primär für Geschäftsinhaber und deren autorisierte Entwickler konzipiert, um ihre eigenen Unternehmenseinträge auf Google zu verwalten (z.B. Öffnungszeiten aktualisieren, Fotos hochladen, Beiträge veröffentlichen, Rezensionen beantworten). Sie bietet keine Möglichkeit, die spezifischen „Tags“ oder Küchenarten von *beliebigen* Restaurants abzufragen, die auf Google Maps sichtbar sind. Diese Tags sind oft interne Klassifikationen von Google, die aus verschiedenen Datenquellen generiert werden und nicht direkt über eine öffentliche API verfügbar sind.

Gezielte Suche: Cafés, Restaurants und Museen filtern
Die Places API ermöglicht es Ihnen, Ihre Suche auf bestimmte Arten von Orten zu beschränken. Dies ist besonders nützlich, wenn Sie nur eine spezifische Kategorie wie Cafés, Restaurants oder Museen anzeigen möchten.
Verwendung des „types„-Parameters
Sowohl bei der nearbySearch als auch bei der textSearch-Anfrage können Sie den Parameter types verwenden, um die Ergebnisse auf eine oder mehrere spezifische Kategorien zu beschränken. Die unterstützten Typen sind hier entscheidend. Einige gängige Beispiele sind:
restaurantcafemuseumbarbakery
Sie können auch mehrere Typen durch einen Pipe-Operator (|) getrennt angeben, z.B. types=restaurant|cafe, um sowohl Restaurants als auch Cafés zu finden.
Beispiel einer URL-Anfrage:
https://maps.googleapis.com/maps/api/place/nearbysearch/json? location=48.137154,11.576124&radius=5000&types=restaurant|cafe|museum&key=YOUR_API_KEY Diese Anfrage würde Restaurants, Cafés und Museen im Umkreis von 5 km um die angegebene Koordinate in München suchen.
Herausforderung „ZERO_RESULTS„: Wenn nichts gefunden wird
Es kann frustrierend sein, wenn die Places API den Status ZERO_RESULTS zurückgibt, obwohl Sie wissen, dass sich an Ihrem Standort tatsächlich passende Orte befinden. Dafür gibt es mehrere Gründe:
Häufige Ursachen für „ZERO_RESULTS„
- Radius zu klein: Wenn der angegebene
radius(in Metern) zu klein ist, könnten relevante Orte außerhalb des Suchbereichs liegen. Erhöhen Sie den Radius schrittweise, um zu sehen, ob dies die Ergebnisse verbessert. - Falscher Typ oder fehlerhafte Indizierung: Es ist möglich, dass Google bestimmte Orte nicht unter dem von Ihnen gesuchten Typ indiziert hat. Beispielsweise könnte eine Tankstelle, die Sie suchen, nicht unter
gas_station, sondern primär unterconvenience_storeoder einem allgemeineren Typ gelistet sein, wenn sie auch einen Shop umfasst. Oder die Daten sind einfach noch nicht vollständig erfasst. - Standortgenauigkeit: Überprüfen Sie die Genauigkeit Ihrer
location-Koordinaten. Ein kleiner Fehler kann dazu führen, dass Sie in einem Bereich suchen, in dem es keine entsprechenden Orte gibt. - API-Schlüssel-Probleme: Stellen Sie sicher, dass Ihr API-Schlüssel gültig ist, die richtigen APIs aktiviert sind (Places API) und keine Abrechnungsprobleme vorliegen, die Anfragen blockieren könnten. Obwohl dies normalerweise einen anderen Fehlerstatus als
ZERO_RESULTSauslöst, ist es eine schnelle Überprüfung wert. - Dichte der Orte: In sehr ländlichen oder dünn besiedelten Gebieten ist es schlichtweg möglich, dass innerhalb des von Ihnen gewählten Radius keine Orte des gesuchten Typs existieren.
Lösungsstrategien bei „ZERO_RESULTS„
- Radius erhöhen: Beginnen Sie mit einem größeren Radius und verkleinern Sie ihn gegebenenfalls.
- Allgemeinere Typen verwenden: Wenn
gas_stationnichts liefert, versuchen Sie breitere Typen wiepoint_of_interestoderestablishmentin Kombination mit Schlüsselwörtern imtextSearch. - textSearch mit Schlüsselwörtern: Statt sich ausschließlich auf den
types-Parameter zu verlassen, verwenden SietextSearchund fügen Sie spezifische Schlüsselwörter hinzu. Zum Beispiel:query=tankstelle&location=...&radius=.... Dies ist oft effektiver, da es Googles Suchalgorithmen für natürliche Sprache nutzt. - Manuelle Überprüfung: Überprüfen Sie den Standort manuell in Google Maps, um zu sehen, wie die Orte dort klassifiziert sind. Dies gibt Ihnen Hinweise, welche Typen oder Schlüsselwörter Sie verwenden sollten.
- Pagination nutzen: Denken Sie daran, dass die API maximal 20 Ergebnisse pro Anfrage zurückgibt (für
nearbySearchundtextSearch). Wenn es mehr Ergebnisse gibt, müssen Sie dennext_page_tokenverwenden, um weitere Seiten abzurufen. EinZERO_RESULTSbedeutet jedoch, dass es auf der ersten Seite keine Treffer gab.
Vergleich: Google Places API Suchmethoden
Um die Wahl zwischen nearbySearch und textSearch zu erleichtern, hier eine vergleichende Übersicht:
| Merkmal | nearbySearch | textSearch |
|---|---|---|
| Primärer Fokus | Orte in einer bestimmten geografischen Nähe | Orte, die einer Textabfrage entsprechen |
| Erforderliche Parameter | location, radius | query (Textabfrage) |
| Optionaler Standort | keyword, name, type, minprice, maxprice | location, radius (für geografische Einschränkung der Textsuche) |
| Einsatzgebiet | „Finde alle Restaurants um mich herum“ | „Finde das beste Sushi-Restaurant in der Innenstadt“ |
| Flexibilität der Suche | Fokussiert auf Typen und Umkreis | Sehr flexibel, ermöglicht natürliche Sprachabfragen und breitere Schlüsselwörter |
| Typische Ergebnisse | Breite Kategorien innerhalb eines Radius | Spezifischere Treffer basierend auf der Abfrage, potenziell auch außerhalb des Radius, wenn kein Standort angegeben |
Häufig gestellte Fragen (FAQs)
F: Kann ich die genaue Küchenart (z.B. „italienisch“, „mexikanisch“) direkt über die Google Places API abrufen?
A: Nein, leider gibt es kein direktes Feld in der Google Places API, das die spezifische Küchenart eines Restaurants angibt. Die types-Felder sind zu allgemein. Sie müssen Workarounds wie die Analyse des Namens, der redaktionellen Zusammenfassung oder sogar der Nutzerbewertungen nutzen, um diese Informationen abzuleiten.
F: Ist die Google Business Profile API die Lösung, um detailliertere Restaurantinformationen zu erhalten?
A: Die Google Business Profile API (früher Google My Business API) ist hauptsächlich für Geschäftsinhaber gedacht, um ihre eigenen Unternehmenseinträge zu verwalten. Sie ist nicht dazu gedacht, detaillierte Informationen über beliebige Unternehmen öffentlich abzufragen. Die spezifischen Tags, die Sie auf Google Maps sehen, sind interne Klassifikationen von Google und nicht direkt über diese API für Dritte zugänglich.

F: Wie viele Orte kann die Google Places API maximal zurückgeben?
A: Eine einzelne nearbySearch- oder textSearch-Anfrage gibt maximal 20 Ergebnisse zurück. Wenn mehr Ergebnisse verfügbar sind, wird ein next_page_token bereitgestellt. Mit diesem Token können Sie bis zu zwei weitere Anfragen senden, um insgesamt bis zu 60 Ergebnisse pro ursprünglicher Suche abzurufen.
F: Warum erhalte ich „ZERO_RESULTS„, obwohl ich weiß, dass es Orte an diesem Standort gibt?
A: Dies kann verschiedene Ursachen haben: Der Suchradius könnte zu klein sein, der verwendete Typ stimmt möglicherweise nicht mit Googles Indizierung des Ortes überein, oder die Standortkoordinaten sind ungenau. Versuchen Sie, den Radius zu vergrößern, allgemeinere Typen zu verwenden oder eine textSearch mit Schlüsselwörtern durchzuführen.
F: Gibt es eine Möglichkeit, nur Orte mit spezifischen Bewertungen (z.B. 4 Sterne und höher) zu filtern?
A: Die Google Places API bietet keine direkte Filterung nach Bewertungen in der ursprünglichen Suchanfrage. Sie können jedoch alle Ergebnisse abrufen und dann clientseitig oder serverseitig nach der rating filtern, die in den Place Details oder in den grundlegenden Suchergebnissen enthalten ist.
Fazit
Die Google Places API ist ein unverzichtbares Werkzeug für standortbasierte Anwendungen, doch sie erfordert ein gewisses Verständnis ihrer Nuancen und Limitationen. Während die direkte Abfrage spezifischer Küchenarten nicht möglich ist, bieten Kombinationen aus Place Details-Abfragen, intelligenter Schlüsselwortsuche und der Analyse bestehender Daten eine robuste Lösung. Die effektive Nutzung des types-Parameters und das Verständnis der Ursachen für ZERO_RESULTS sind entscheidend, um präzise und nützliche Ergebnisse zu erzielen. Mit den hier vorgestellten Strategien können Sie Ihre Anwendungen optimieren und Ihren Nutzern ein noch reichhaltigeres und präziseres Erlebnis bieten.
Wenn du andere Artikel ähnlich wie Google Places API: Kulinarische Geheimnisse lüften kennenlernen möchtest, kannst du die Kategorie Pizza besuchen.
