Hallo zusammen,
es gibt eine paar kleine Ergänzungen im Google Maps Modul. Version 0.1.4 kann zusätzlich
- Eine beliebige Adresse oder Ortsangabe in Geokoordinaten umrechnen
- Markierungen/Icons und Textblasen dynamisch per Javascript einfügen
- Templates auswählen
Die
Adressenermittlung erfolgt immer dann, wenn im Feld "Koordinaten-Ermittlung" etwas drin steht, das Feld "Koordinaten" aber leer ist. Es kann nach Adressen gesucht werden, aber auch Angaben wie "Bundeskanzleramt" liefern Koordinaten. Zum Feintuning können die dann ja noch manuell nachbearbeitet werden.
Das
dynamische Einfügen von Markierungen erfolgt durch ein neues Template
mod_dlh_googlemaps_dynicons plus einen Javascript-Block. Dieser Block muss zwingend
vor dem Modul auf der Seite erscheinen. Vom Aufbau her:
Code:
<script type="text/javascript">
//<![CDATA[
mapdata = new Array();
mapdata['dlh_googlemap_ID'] = new Array();
mapdata['dlh_googlemap_ID']['marker'] = new Array();
mapdata['dlh_googlemap_ID']['marker'][0] = new Array();
mapdata['dlh_googlemap_ID']['marker'][0]['coords'] = '47.2,-2.6';
mapdata['dlh_googlemap_ID']['marker'][0]['icon'] = '';
mapdata['dlh_googlemap_ID']['marker'][0]['icon_position'] = '';
mapdata['dlh_googlemap_ID']['marker'][0]['icon_size'] = '';
mapdata['dlh_googlemap_ID']['marker'][0]['shadow'] = '';
mapdata['dlh_googlemap_ID']['marker'][0]['shadow_size'] = '';
mapdata['dlh_googlemap_ID']['marker'][0]['infotext'] = 'Dieser Marker ist<br />dynamisch eingefügt worden!';
mapdata['dlh_googlemap_ID']['marker'][0]['info_position'] = '';
mapdata['dlh_googlemap_ID']['marker'][0]['autoinfo'] = false;
mapdata['dlh_googlemap_ID']['marker'][1] = new Array();
mapdata['dlh_googlemap_ID']['marker'][1]['coords'] = '47.5,-2.6';
mapdata['dlh_googlemap_ID']['marker'][1]['icon'] = '';
mapdata['dlh_googlemap_ID']['marker'][1]['icon_position'] = '';
mapdata['dlh_googlemap_ID']['marker'][1]['icon_size'] = '';
mapdata['dlh_googlemap_ID']['marker'][1]['shadow'] = '';
mapdata['dlh_googlemap_ID']['marker'][1]['shadow_size'] = '';
mapdata['dlh_googlemap_ID']['marker'][1]['infotext'] = 'Noch ein freier Text';
mapdata['dlh_googlemap_ID']['marker'][1]['info_position'] = '';
mapdata['dlh_googlemap_ID']['marker'][1]['autoinfo'] = false;
//]]>
</script>
"ID" muss durch die echte Id des Moduls ersetzt werden, dessen Karte beeinflusst werden soll. Der Javascript-Block kann wie in diesem
Beispiel durch ein Content-Element vom Typ Html eingefügt werden, natürlich könnten aber auch durch den Katalog oder eigene Module Markierungen eingebunden werden.
Man ist auch nicht auf 1 Javascript-Block beschränkt, sondern kann mehrere einbauen. Z.B. über die Listenansicht eines anderen Moduls und einem angepassten Template.
Viel Spaß damit,
Christian
Lesezeichen