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']}&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'])."&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.
Ich habe auch sehr lange über dieser Problematik zugebracht.....
Grüße