What are the different types of American pizza?

Google Places API: Kulinarische Geheimnisse lüften

02/05/2015

Rating: 4.33 (989 votes)

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.

Is there a way to get restaurant information from Google Places?
But there's a popular feature request regarding more detailed place types for the Places API here: issuetracker.google.com/35822953. You can star the issue to get notified by it if there's an update. I am getting some Restaurant information using the nearBy function of Google Places. It returns the Restaurant... rating... address, etc.
Inhaltsverzeichnis

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.

What are the different types of New York Pizza?
Many pizza enthusiasts divide New York pizza into two sub-styles: The New York slice (or “street/dollar slice”) – this type of pizza is common throughout most of New York and aligns with the definition provided in the previous paragraph. It can be considered a commercialized version of the “original” New York pizza.

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:

  • restaurant
  • cafe
  • museum
  • bar
  • bakery

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„

  1. 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.
  2. 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 unter convenience_store oder einem allgemeineren Typ gelistet sein, wenn sie auch einen Shop umfasst. Oder die Daten sind einfach noch nicht vollständig erfasst.
  3. 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.
  4. 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_RESULTS auslöst, ist es eine schnelle Überprüfung wert.
  5. 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_station nichts liefert, versuchen Sie breitere Typen wie point_of_interest oder establishment in Kombination mit Schlüsselwörtern im textSearch.
  • textSearch mit Schlüsselwörtern: Statt sich ausschließlich auf den types-Parameter zu verlassen, verwenden Sie textSearch und 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 nearbySearch und textSearch). Wenn es mehr Ergebnisse gibt, müssen Sie den next_page_token verwenden, um weitere Seiten abzurufen. Ein ZERO_RESULTS bedeutet 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:

MerkmalnearbySearchtextSearch
Primärer FokusOrte in einer bestimmten geografischen NäheOrte, die einer Textabfrage entsprechen
Erforderliche Parameterlocation, radiusquery (Textabfrage)
Optionaler Standortkeyword, name, type, minprice, maxpricelocation, 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 SucheFokussiert auf Typen und UmkreisSehr flexibel, ermöglicht natürliche Sprachabfragen und breitere Schlüsselwörter
Typische ErgebnisseBreite Kategorien innerhalb eines RadiusSpezifischere 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.

Welche Arten von Pizza gibt es?
Pizza, Pizza, Pizza – ein weltweites Lieblingsgericht, das in vielen verschiedenen Varianten kommt. Ob neapolitanische, römische, amerikanische Pizza, Blechpizza oder Pizza Portafoglio – die Liste ist lang. Was sind die Unterschiede und wieso schmecken alle Pizza Arten anders?

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.

Go up