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.