Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.27 veröffentlicht (22.06.21)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Usermap
Ja, Geld stinkt nicht... Wink 
Sieh es aber wie Du willst...Eine Google-Map ist im Forum schon ne Bereicherung und das Plugin bietet Möglichkeiten,
die wohl das "neue", auf Basis von open-street-map-Plugin nicht bietet.
Andererseits ist durch den hohen Freibetrag diese "Kostenpflicht" für uns "kleine Würste" soweit entfernt,
dass es Zeitverschwendung ist, überhaupt darüber zu reden.

Grüße
Zitieren
was kostet denn ein View? Wie setzen sich die Kosten denn zusammen?
Zitieren
Schau doch einfach bei Google nach: https://cloud.google.com/maps-platform/pricing/sheet/ Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
(06.04.2019, 15:55)itsmeJAY schrieb: was kostet denn ein View? Wie setzen sich die Kosten denn zusammen?
Geocoding bei bis zu 40.000 Aufrufe/Monat 5,00 $
Geolocation bei bis zu 40.000 Aufrufe/Monat 5,00 $
Somit bleiben noch 190 $ pro Monat an Verwendungsguthaben bestehen.

Wer als Forenbetreiber auf über 2x800.000 Zugriffe/Monat kommt, hat bestimmt kein "einfaches Forum" Smile (Dann sind aus meiner Sicht Zusatzkosten durchaus nachvollziehbar.)
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
sorry, war mit dem Handy on - dachte hier käme die Info etwas schneller Toungue Big Grin
Zitieren
(06.04.2019, 17:35)Gerti schrieb: Wer als Forenbetreiber auf über 2x800.000 Zugriffe/Monat kommt, hat bestimmt kein "einfaches Forum".....

Ja, oder es gibt noch noch ein paar....,die sich des/der Key`s bedienen.
Nicht umsonst hatte ich geschrieben, dass ein uneingeschränkter Key kritisch zu betrachten ist..... Wink
Zitieren
(05.04.2019, 08:44)Gerti schrieb: Ich habe nachstehend mal versucht (hoffe ich habe es korrekt gemacht), die PDF-Datei von Schnapsnase (Danke für die sicherlich mühsam erarbeitete Lösung) auf Anregung von "bv64" für alle User übersichtlich als kurze Lösungsbeschreibung zusammengefasst.

Problembeschreibung:
Seit der Einführung von neuen Abrechnungsmodalitäten bei Google (Juni/2018) ist durch das Usermap-Plugin keine Kartenanzeige und/oder kein Geocodieren (PIN-Setzen) mehr möglich

Begründung:

Das Usermap-Plugin arbeitet mit der Maps-JavaScript-API zur Darstellung der Karte und der Geocoding-API zur Ceocodierung, also zum Setzen eines PINs. Beide APIs sind ohne einen API-Key nicht nutzbar (siehe Hinweis 1).

Auswirkung:
Beim Aufruf der Geocoding-API in der usermap.php wird der Key zu spät oder gar nicht übermittelt. Daher ist im Einklang mit vorstehender Begründung kein Geocodieren/PIN-Setzen möglich.

Hinweise:
1. Google verlangt für jedes Projekt die Einrichtung eines Abrechnungskontos. Nur mit einem Konto sind APIs und API-Key`s nutzbar.
2. Für die Geocoding-API darf der Key (über ACP wie gewohnt einpflegen) keine URL-Einschränkung haben, was kritisch zu betrachten ist. Der zweite generierte Key muss daher mit einer API-Einschränkung versehen werden und funktioniert dann nur mit der Geocoing-API.

Lösung:
Da im ACP "Konfiguration > Einstellungen  > Usermap Optionen" nur ein Key eingepflegt werden kann, ist der zweite generierte API-Key direkt in der usermap.php einzupflegen werden.

Vorgehensweise:
Finde in der usermap.php:
PHP-Code:
//Load the xml-file of Google for the given place
$lookup_file file_get_contents("https://maps.googleapis.com/maps/api/geocode/xml?address=".urlencode($mybb->input['adress'])."&key=".$mybb->settings['usermap_apikey'].""); 
Ersetze mit:
PHP-Code:
//Load the xml-file of Google for the given place
$lookup_file file_get_contents("https://maps.googleapis.com/maps/api/geocode/xml?key=Zweiter_API-KEY".urlencode($mybb->input['adress'])."");
// Den Text "Zweiter_API-KEY" mit deinem echten zweiten API-Key ersetzen 

Ob der Ersteller des PlugIn ein Update zur Verfügung stellt ist zu bewzeifeln, da er seit längerer Zeit nicht mehr im Forum aktiv war. Bis jemand das Plugin aktualisiert, muss mit vorstehender Lösung gearbeitet werden.

Ich komm mit dem Plugin, obwohl die Änderung recht simpel wäre, total durcheinander. Wahrscheinlich weil hier zu viel geschrieben wurde (verwirrt) und ich nie mit dem Plugin gearbeitet habe (effektiv). In dem Beitrag oben von Gerti fehlt hinter dem "Zweiter-API-Key" doch noch "&address=" oder nicht? Zumindest macht es so Sinn und so ist es auch in der PDF von Schnapsnase dokumentiert. 

Desweiteren: Ich hab ein Abrechnungskonto hinzugefügt und APIs erstellt. Egal wie viele APIs ich aktiviere (Geocoding, Maps, etc) - ich habe immer den gleichen Key. Wofür brauchen wir hier also 2 API-Keys? Der API-Key, welchen man im ACP eingeben kann, wird durch Änderungen des oben genannten Codes doch gar nicht mehr gebraucht? Sorry, aber ich blick hier derzeit nicht durch.   Big Grin Weshalb entfernen wir einfach $mybb->settings['usermap_apikey'] und definieren den API-Key nicht im Admin-CP?

Desweiteren² : Welche API's genau müssen aktiviert werden damit die Karte angezeigt wird? Maps Embed oder Maps JavaScript?
Zitieren
Das "adresss" ist korrekt aufgeführt!
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
Naja, einer muss es falsch haben. Du oder Schnapsnase. Schnapsnase hat es in der PDF eher richtig. Die Adresse Ansich hast du drin, es fehlt aber der GET Parameter address damit Google die Anfrage überhaupt verarbeiten kann :-))
Zitieren
Hi Jay,

nun nochmal ganz langsam.
1. Das Plugin arbeitet mit 3 API`s
- Javascript-API ist für die Darstellung der Map
- Geocoding-API ist für`s Geocodieren, also um einen Marker (Pin) setzen zu können
- Elevation-API ermittelt die Höhenwerte der Adressen
2. Der API-Key welcher im ACP, also in der settings.php definiert ist wird im Template "usermap" für die Funktion der Javascript-API geladen. siehe hier:
Code:
<html>
<head>
<title>{$mybb->settings['bbname']} - {$lang->usermap}</title>
{$headerinclude}
<script type="text/javascript" src="{$usermap_scheme}maps.googleapis.com/maps/api/js?key={$mybb->settings['usermap_apikey']}&amp;language={$language}"></script>
3. In der "originalen" usermap.php sollte dieser Key auch beim Geocodieren übergeben werden. Siehe hier:
Code:
//Load the xml-file of Google for the given place
$lookup_file = file_get_contents("https://maps.googleapis.com/maps/api/geocode/xml?address=".urlencode($mybb->input['adress'])."&amp;key=".$mybb->settings['usermap_apikey']."");
Dies funktioniert allerdings nicht. Der Key wird nicht mit der Url übermittelt.
Deshalb habe ich den Key manuell eingebunden. Siehe hier:
Code:
// Load the xml-file of Google for the given place
$lookup_file = file_get_contents("https://maps.googleapis.com/maps/api/geocode/xml?key=
meinKey&address=".urlencode($mybb->input['adress'])."");

Warum zwei Key`s.....
Der Key für die Javascript-API (also die Kartenanzeige) ist im Quellcode sichtbar. Um Missbrauch zu vermeiden, sollte er also eine Url-Einschränkung haben. Damit ist man hier schon mal save.
Leider funktioniert aber die Geocoding-API nicht mit einem Url-eingeschränkten Key. Deshal habe ich in der usermap.php einen zweiten Key (nur für den Geocoder) eingebunden. Dieser Key hat dann nur eine API-Einschränkung und funktioniert somit nur mit der Geocoding-API und ist auch nicht so leicht sichtbar.

Wenn Du jetzt gar nicht mehr durchsteigtst, glaube ich Dir das. Big Grin 
Ich habe auch sehr lange über dieser Problematik zugebracht.....

Grüße
Zitieren