[dlh_googlemaps] Google Maps Modul 0.1.4
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
Routen-Funktion im Standortmarker
Hallo,
gibt es die Möglichkeit, im Standortmarker einer Karte auch die Routen-Funktionalität von Google einzubinden?
Eine Suche im neuen wie im alten Forum ergab keine Treffer für mich. Wäre schön, wenn das ginge (nice-to-have), einen Extra-Routenplaner wie es schon ein Modul für TL gibt, brauche ich nicht.
Freue mich über Tipps.
Max. Zeichen in "Inhalt der Textbox"
Hallo zusammen,
hallo Christian,
ich habe mir das Modul "dlh_googlemaps 0.1.4 stable" installiert!
Läuft auch super - komme damit sehr gut klar!
Jedoch würde ich gerne in dem Feld "Inhalt der Textbox" eine längere EIngabe machen!
Ich habe die Datei "tl_module.php" und den entsprechenden Eintrag "$GLOBALS['TL_DCA']['tl_module']['fields']['dlh_googlemaps_infowindow_text'] = array" schon gefunden!
Wenn ich die Zeile " 'eval' => array('rows'=>4,'maxlength'=>255,'allowHtml'=>true )" entsprechend ändere, z.b. 6 Zeilen ud 850 Zeichen, kommen diese Änderungen aber nicht in meinem TL Backend an!
Wie kann ich das realisieren bzw. mehr Zeichen in "Inhalt der Textbox" eingeben?
viele Grüße
Sebastian
Googlemaps installiert, wird aber nicht angezeigt
Hallo,
ich bin gerade dabei mein erstes Projekt mit Typolight umzusetzen. Habe gerade die Erweiterung [dlh_googlemaps] bei mir in Typoligth via online Installation erfolgreich installiert. Ich benutze Typolight 2.7.6.
Nun wird mir aber nirgends das Modul zu verwendung angezeigt. Habe auch schon im Forum gesucht und die einzige Stelle in Typolight wo ich das Modul finde, ist unter "Einstellungen" -> Inaktive Erweiterungen. Hier wird es aufgelistet. Also muss es ja erfolgreich installiert sein. Habe auch in der Rootseite einen Schlüssel hinterlegt.
Normalerweise sollte das Modul doch jetzt unter dem Punkt "Module" aufgelistet werden oder sehe ich jetzt vor lauter Bäumen den Wald nicht???
Grüße,
Conair =)
Geht es auch als Routenplaner?
Hallo,
danke für die Hilfe, jetzt funktioniert es!!! Jetzt wäre noch die Frage ob mir jemand einen Tipp geben kann, wie ich in die Sprechblase zusätzlich zu den Adressdaten auch noch den Link angezeigt bekomme "Route berechnen von hier - nach hier"??
Habe schon danach gegoogelt aber nur andere Möglichkeiten gefunden. Habe diese Lösung mit dem Link "von hier - nach hier" aber selber schon gesehen.
Geht das mit diesem Modul auch?
Danke für die Hilfe!
conair =)
[dlh_googlemaps] 0.1.5 Fehler
Hallo Christian,
mir ist soeben ein Fehler in der Erweiterung aufgefallen.
Wollte gerade ne Seite bissl umstrukturieren und habe versucht in der Artikelansicht das eingebundene Modul hin und herzuschieben.
Es lässt sich nicht verschieben.
Dann wollte ich es löschen, was jedoch auch nicht ging - nach Lösch Bestätigung wird nur eine weiße Seite angezeigt.
Dann bin ich auf bearbeiten des Moduls, habe halt ein anderes Modul angeklickt und denn konnte ich denn Artikel löschen.
D.h. bei jeder Änderung (Verschieben oder so) von Googlemaps muss man im moment hergehen, ein anderes Modul anzuwählen, dieses Löschen und googlemaps neu anlegen.
Liebe Grüße,
Bobi
Icon Linkbereich bei eigenen Icons ändern
Hallo,
das ist ein Klasse Modul, habe jetzt auch schon einiges hinbekommen. Nun ist mir allerdings aufgefallen, dass wenn ich eigene Icons verwende die nicht die Größe des Ursprungs-"Google-Pin" haben, der klickbare Bereich trotzdem noch der von diesem Pin ist.
Gleiches ist auch bei Christian auf der Testseite zu beobachten wenn man rechts sein Symbol anklicken möchte.
http://tl.delahaye.de/test-gm-dynamisch.html
Zu beobachten ist, dass das ganze unter chrome, opera, ie funktioniert, nicht aber unter firefox.
Wenn man sich das ganze unter Firebug anschaut gibt es die Eigentschaft <area id="mtgt_unnamed_0" coords="9,0,6,1,4,2,2,4,0,8,0,12,1,14,2,16,5,19,7, 23,8,26,9,30,9,34,11,34,11,30,12,26,13,24,14,21,16 ,18,18,16,20,12,20,8,18,4,16,2,15,1,13,0". Wenn man das Ganze auf etwas wie coords="1,1,1,45,45,45,45,1" ändert, funktioniert das auch nur ist diese Änderung in Firebug natürlich nur temporär.
Nun stellt sich für mich die Frage, ob das Modul um diese Option erweitert werden kann, oder wo ich im template welchen Code ergänzen muss!
Gruß
Paul
Gelöst: Icon Linkbereich bei eigenen Icons ändern
Hallo,
erfreulicherweise habe ich das Problem nach 2 Tagen rumprobieren doch selber lösen können. Für den klickbaren Bereich gibt es eine Option
icon.imageMap = [1,1,1,30,30,30,30,1]
Wusste nur nicht, wo genau diese im Template eingefügt werden musste. Für alle die es interessiert:
PHP-Code:
if(mapdata['<?php echo $this->map; ?>']['marker'][i]['icon'] != '') {
icon.image = mapdata['<?php echo $this->map; ?>']['marker'][i]['icon'];
//Nachfolgende Zeile muss ergänzt werden. Bei den Zahlen handelt
//es sich um Koordinatenpaare für einen Polygon (1,1) zu (1,45) usw.
icon.imageMap = [1,1,1,45,45,45,45,1];
//Ende der Einfügung
if (mapdata['<?php echo $this->map; ?>']['marker'][i]['shadow'] != '') {
icon.shadow = mapdata['<?php echo $this->map; ?>']['marker'][i]['shadow'];
icon.shadowSize = new GSize(mapdata['<?php echo $this->map; ?>']['marker'][i]['shadow_size']);
}
tmp = 'icon.iconSize = new GSize('+mapdata['<?php echo $this->map; ?>']['marker'][i]['icon_size']+')'; eval(tmp);
tmp = 'icon.iconAnchor = new GPoint('+mapdata['<?php echo $this->map; ?>']['marker'][i]['icon_position']+')'; eval(tmp);
}
Hoffe ich konnte damit auch anderen helfen die das gleich Problem haben. Vllt. kann man diese Option noch standardmäßig in das Modul aufnehmen.
Gruß
Paul
Internet Explorer macht Probleme
Hallo zusammen!
Auf www.kiels-gute-adressen.de > stadtplan habe ich das google maps Modul eingebunden. Ich verwende normalerweise eigene Icons, aber nachdem der Internet Explorer 7 nur den ersten eigebundenen Punkt angezeigt hat, habe ich diese wieder entfernt. Ist dieses Problem jemandem bekannt und weiß irgendwer eine Lösung dafür?
So funktioniert es in jedem Browser :
Code:
<script type="text/javascript">// <![CDATA[
mapdata = new Array();
mapdata['dlh_googlemap_12'] = new Array();
mapdata['dlh_googlemap_12']['marker'] = new Array();
mapdata['dlh_googlemap_12']['marker'][0] = new Array();
mapdata['dlh_googlemap_12']['marker'][0]['coords'] = '54.3146, 10.11641';
mapdata['dlh_googlemap_12']['marker'][0]['icon'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['icon_position'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['icon_size'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['shadow'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['shadow_size'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['infotext'] = '2 FACH FLORISTIK & PATISSERIE<br />Saarbrückenstraße 14, 24114 Kiel';
mapdata['dlh_googlemap_12']['marker'][0]['info_position'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['autoinfo'] = false;
...weitere Markierungen
// ]]></script>
So wird im IE7 nur der erste Punkt angezeigt:
Code:
<script type="text/javascript">// <![CDATA[
mapdata = new Array();
mapdata['dlh_googlemap_12'] = new Array();
mapdata['dlh_googlemap_12']['marker'] = new Array();
mapdata['dlh_googlemap_12']['marker'][0] = new Array();
mapdata['dlh_googlemap_12']['marker'][0]['coords'] = '54.3146, 10.11641';
mapdata['dlh_googlemap_12']['marker'][0]['icon'] = 'tl_files/layout/kga_zeiger.png';
mapdata['dlh_googlemap_12']['marker'][0]['icon_position'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['icon_size'] = '64,32';
mapdata['dlh_googlemap_12']['marker'][0]['shadow'] = 'tl_files/layout/empty.gif';
mapdata['dlh_googlemap_12']['marker'][0]['shadow_size'] = '1,1';
mapdata['dlh_googlemap_12']['marker'][0]['infotext'] = '2 FACH FLORISTIK & PATISSERIE<br />Saarbrückenstraße 14, 24114 Kiel';
mapdata['dlh_googlemap_12']['marker'][0]['info_position'] = '';
mapdata['dlh_googlemap_12']['marker'][0]['autoinfo'] = false;
...weitere Markierungen
// ]]></script>
Und um noch einmal die Frage von joker aufzugreifen:
Zitat:
Kann ich einzelne Parameter auch global für alle Marker setzen?
Vielen Dank!