Google Maps und Geo API

SFFox

Lt. Commander
Registriert
Dez. 2010
Beiträge
1.557
Heyho,

ich habe jetzt seit 9 Jahren eine Website laufen, deren Funktion es ist per Usereingabe Datensätze mit Adresse zu erstellen, die dann lokal in der Datenbank gespeichert werden inkl. per Geo-API von Google aufgelösten Koordinaten.
Im FE werden die validen Datensätze u.a. dann nach diversen Kriterien auf embedded google maps Karten gerendert.
Als damaliger selftaught Webentwicklungsanfänger ist der Code alt und furchtbar, PHP 5.x gehört langsam aber sicher in die Tonne und es ist Zeit für einen Relaunch.

Notgedrungen habe ich, als Google sein Vertriebsmodell für die Maps Funktionalität ein wenig umgestellt hat, mein Google Konto konform angemeldet, um weiterhin einen gültigen API Key zu haben. Das war zugegebenermaßen etwas naiv, aber für den relativ geringen Traffic der Seite habe ich mir auch keine Gedanken gemacht jemals an die Limits zu kommen.

Es findet sich eine ganze Menge zu dem Thema im Netz, aber nur wenig zu den direkten Fragen, die ich mir gerade stelle.
Wenn mir also jemand mit Erfahrung ein paar Fragen beantworten könnte, fände ich das super. Die Google Console Seiten sind bis auf technische Hilfestellung alles andere als überschaubar, wenn man sich frisch damit befassen möchte.

Meine Fragen:
  • Kann ich irgendwo ein festes Monats-Limit setzen, damit ich mit der API im Free-Bereich der Requests bleibe? Die Seite ist ein kostenloser Service und wenn mal am Ende des Monats die Geo-Funktionalität nicht gegeben wäre, wäre das auch nicht so schlimm. Zum Load-Decrease habe ich bereits bei jeder Address-Auflösung einen "Geo-Cache" implementiert, so dass zu jeder bereits abgefragten Adresse lokal die Geo-Koordinaten bereits vorliegen.
  • Alternativ zum Monatslimit auf Zugriffsbasis: Kann ich die Requests automatisiert stoppen, sobald das frei-Guthaben des Monats aufgebraucht ist?
  • Kann ich mich generell vor Request-Missbrauch schützen? Es könnte ja jemand per Bot eine große Menge Requests auslösen, und mir finanziell schaden, wenn das nicht gedeckelt ist. Mir ist klar, dass ich den Key auf APIs und andere Dinge beschränken kann und Quotas für Tage / Minute / Nutzer pro Minute fest legen, aber ob das wirklich hilft, wenn jemand mit dynamischen IPs das ein paar Tage durch zieht?
Der Relaunch soll qualitativ gut werden, also würde ich das Thema gerne zu 100% verstehen und abschließen können.
Alternativ könnte ich ggf. auf OpenStreetMap umsteigen, aber damit würde ich bereits implementierte Funktionalitäten wie LocationClustering etc. über Board werfen, in die bereits Arbeit geflossen ist ;)

Ich danke schon mal für euer Wissen :)
mfg
SFFox
 
Lawnmower schrieb:
Ja Du kannst Kontingente festlegen.
https://console.cloud.google.com/google/maps-apis/quotas
Ist allerdings nicht ganz trivial da das richtig rauszusuchen...
Hey, die Seite habe ich auch gefunden und damals schon pi mal Daumen eingestellt.
Trivial ist das aber wirklich nicht.
Von Google erhält man ja virtuelle 200$ pro Monat als free Kontingent.
Ich habe auch noch nicht rausgefunden, ob das pro API gilt (ich nutze GeoCoding und Gmaps Javascript API (und würde gerne noch die Direction/Route API nutzen) oder global für alle zusammen.
Der Workaround scheint mir ein sinnvolles Tageslimit zu setzen, damit es über den Monat verteilt nicht über die gewollte Gesamtquote hinaus läuft, aber eventuelle Peaks könnte das wiederum völlig im Wege stehen.
Vielleicht hat ja noch jemand Ideen darüber hinaus.
 
Die 200 $ sind glaubs für alles - so habe ich das auch verstanden.
Wichtig ist wohl nur die API zu aktivieren die Du auch wirklich brauchst.
Hier ist es noch einfacher aufgeführt mit den Preisen und den APIs (bisschen runterscrollen): https://cloud.google.com/maps-platform/pricing
Weiss ja jetzt nicht wieviel Traffic Du da hast, aber mit den 200 USD sollte man recht weitkommen, insbesondere wenn Du noch selber cachst und Mobilegeräte kosten bei einigen Diensten scheinbar nix.
 
Lawnmower schrieb:
Die 200 $ sind glaubs für alles - so habe ich das auch verstanden.
Wichtig ist wohl nur die API zu aktivieren die Du auch wirklich brauchst.
Hier ist es noch einfacher aufgeführt mit den Preisen und den APIs (bisschen runterscrollen): https://cloud.google.com/maps-platform/pricing
Weiss ja jetzt nicht wieviel Traffic Du da hast, aber mit den 200 USD sollte man recht weitkommen, insbesondere wenn Du noch selber cachst und Mobilegeräte kosten bei einigen Diensten scheinbar nix.
Thx dafür. Die Übersicht ist wirklich verständlich und ich denke noch komme ich mit meinem Rahmen gut aus (max 10.000 Besucher im Monat und die lösen nicht ständig Requests an Google aus), klicken sich aber doch durch verschiedene Events, die jeweils eine Standortkarte mit sich bringen und ggf. dann auch eine Route.
Naja, ich habe die Quotas eng gesetzt und werde nach dem Relaunch mal schauen wie sich das entwickelt und im Zweifel etwas Komfort abspecken müssen ;)
Wenn noch jemand einen mega Tipp oder Gedanken dazu hat, immer gerne her damit!
 
Da kannst ja sonst auch noch mit Static Maps arbeiten und mit einem Klick macht es Google Maps (Dynamic) auf - mit minimalen Kosten für dich (Static Maps sind ja recht günstig pro 1000 Anfragen) bzw gar nix wenn Maps dediziert in einem Tab geöffnet wird.
 
  • Gefällt mir
Reaktionen: SFFox
Für einen der Use-Cases ist tatsächlich die Static Funktion mehr als ausreichend.
Um das ebenfalls knapp zu halten (Map ist in einem Modal) wird das image lazy geloaded ;)
 
Zurück
Oben