Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Usermap
Jay hat Recht, ich hab nur vergessen das zuletzt hier zu notieren, da fehlt echt ein Teil, Gerti, schau mal genau hin !
Zitieren
Hi Schnapsnase,

danke für deine Info und deinen Beitrag. Da steht der Code auch wieder korrekt mit dem Parameter address drin (fehlte in Gertis Tutorial).

Sehr mysteriös weshalb Geocoding nicht funktioniert wenn man die URL einschränkt, das macht doch eigentlich keinen Sinn - oder? Big Grin Ich glaube ich muss mich etwas mehr mit der Google Cloud und den Einstell-/Einschränkmögichkeiten beschäftigen.
Zitieren
(06.04.2019, 20:36)itsmeJAY schrieb: Sehr mysteriös weshalb Geocoding nicht funktioniert wenn man die URL einschränkt,

Ja, das habe ich mir nach vielen vergeblichen Versuchen auch erst angelesen, aber es scheint wirklich so zu sein.
Egal wie... der eigentliche Fehler liegt im Code der usermap.php, denn hier wird beim Abruf der 
xml-Datei der Key nicht mit übermittelt.

Grüße
Zitieren
Merkwürdig bleibt trotzdem, dass ich immer die gleichen Keys bekomme egal welche API ich aktivere. Wie hast du denn zwei unterschiedliche bekommen?

edit: kann es sein, dass ich für den zweiten key ein neues Projekt anlegen muss? Und ein Projekt immer den gleichen key hat?
Zitieren
(06.04.2019, 20:49)itsmeJAY schrieb: edit: kann es sein, dass ich für den zweiten key ein neues Projekt anlegen muss?

Nein, Du generierst in Deinem Projekt einfach einen 2. Key.
Du kannst dann den Key`s die API`s zuweisen, mit denen sie arbeiten sollen.
Zitieren
Hi,

so - ich habe mich nun doch mit dem Plugin außeinander gesetzt und hoffentlich alle Fehler behoben. Ich habe in der usermap.php mehrere Stellen als nur die hier erwähnten angepasst. Allein bzgl. Geocoding waren es zwei VAR statt nur eine.

Anhang runterladen, nach folgendem Tutorial vorgehen & fertig. Ich hab es bereites getestet, es sollte zwar ohne Probleme funktionieren - dennoch bitte ein Backup eures Forums machen, da ich nicht für mögliche Schäden hafte.

1. Wie von bv64 erwähnt, würden beim Deinstallieren des Plugins alle PINs gelöscht werden. Daher sollten wir die Settings erweitern, ohne das wir das Plugin deinstallieren. Zuerst ertmitteln wir anhand von SQL welche Gruppen-ID unser installiertes Usermap-Plugin hat (bei jedem anders!).
Code:
SELECT gid FROM mybb_settings WHERE name = "usermap_profile";

2. Nun führen wir folgenden Query aus! Bitte unbedingt eure (in Schritt 1) herausgefundene Gruppen-ID angeben an Stelle von GRUPPENID angeben (!)

Code:
INSERT INTO mybb_settings (name, title, description, optionscode, value, disporder, gid, isdefault)

VALUES ('usermap_apikeytwo', 'API-key two (Geocoding)', 'Your API-key for Google Maps. Get a Google-Maps key <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank">here</a>', 'text', 0, '2', 'GRUPPENID', '0' );

3. Die neue usermap.php hochladen + die neue inc/plugins/usermap.php hochladen

4. Den zweiten Key im ACP eingeben

5. Wichtig: Wenn Ihr ein Forum mit SSL-Zertifikat betreibt, bitte noch folgende Links anpassen in den Templates:
Templates -> Global Templates -> usermap
Templates -> Global Templates -> usermap_pin

http://maps.googleapis.com/maps/api/js?key={$mybb->settings['usermap_apikey']}&amp;language={$language}

zu

https://maps.googleapis.com/maps/api/js?key={$mybb->settings['usermap_apikey']}&amp;language={$language}

Dies war der Grund bei mir, weshalb die Usermap gar nicht angezeigt wurde. Mein Forum mit SSL hat die Verbindung zu http geblockt.

Als Info: Die inc/plugins/usermap.php wurde geändert, damit beim gewünschten Deinstallieren und erneutem Installieren des Plugins die in Schritt 2 ausgeführte Änderungen automatisch passieren. Schritt 1-2 sind nur für die, die die eingetragenen PINs nicht verlieren möchten. Rolleyes

Viel Spaß.


Angehängte Dateien
.zip   usermap_edited.zip (Größe: 11,64 KB / Downloads: 5)
Zitieren
Hi Jay,

ich hab`s noch nicht getestet, aber es liest sich gut. Vielen Dank für Deine Arbeit.
Du gehst also (mal abgesehen von den Fehlern in der usermap.php) mit mir konform, dass es Sinn macht, einen 2. Key einzubinden?!

Grüße
Zitieren
jap - weil die Einschränkungen beider APIs im Konflikt zueinander stehen. Ich würde es so machen bzw. hab es auch für die Testzwecke so gemacht:

Der erste Key (für Maps JavaScript & Maps Elevation) kann über HTTP (also die Domain) eingeschränkt werden.

Für den zweiten Key für die Geocoding-API macht es Sinn, die IP-Adresse des Servers/Web-Servers als Einschränkung zu setzen. Wenn jemand an den Key kommt, kann somit trotzdem kein Unfug veranstaltet werden..  Rolleyes

Dann sollte man auf der sicheren Seite sein und alles sollte funktionieren.

In diesem Sinne,
Prost! Wink Genießt das sonnige Wetter Smile
Zitieren
(07.04.2019, 18:03)itsmeJAY schrieb: Für den zweiten Key für die Geocoding-API macht es Sinn, die IP-Adresse des Servers/Web-Servers als Einschränkung zu setzen.

Berichtige mich bitte, aber ich glaube, dass ist keine gute Idee.
Da das Geocodieren serverseitig erfolgt, steht auf einem Shared-Server dem Mißbrauch des Keys Tür und Tor offen.
Zitieren
Leider funktioniert beim Geocoding keine HTTP Einschränkung (hätte diese funktioniert, bräuchten wir hier auch keinen 2. Key). Oft bekommen gemietete Webspace's eine eigene IP. Und selbst wenn nicht: Angenommen du teilst dir den Server mit 99 anderen Menschen/Kunden und alle haben die selbe IP wie du. Dann muss einer dieser 99 Menschen erstmal an deinen Key kommen und mit Vorsatz deine Kontigente nutzen möchten. Wenn du allerdings keine Einschränkung vornimmst, kann egal wer an deinen Key kommt, diesen nutzen. Google lässt somit jeden Zugriff zu. Also was ist nun besser, offen oder IP-Einschränkung?  Toungue
Zitieren