Naja, normalerweise sollte ein CDATA-Abschnitt für XHTML so aussehen:Ansonsten meinetwegen auch so:HTML-Code:/* <![CDATA[ */ ... /* ]]> */
HTML-Code:<!--//--><![CDATA[//><!-- ... //--><!]]>
Naja, normalerweise sollte ein CDATA-Abschnitt für XHTML so aussehen:Ansonsten meinetwegen auch so:HTML-Code:/* <![CDATA[ */ ... /* ]]> */
HTML-Code:<!--//--><![CDATA[//><!-- ... //--><!]]>
Das kommt davon, wenn man was einfach mitschleppt, ohne es sich nochmal genau anzusehen ;-)
Ich werde da mal ein Update machen.
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
Danke für Eure Hilfe. Allerdings funktioniert es immer noch nicht. Mein Quelltext sieht jetzt so aus:
Habe es auch mit "//" anstelle "/* ... */" probiert. Ebenfalls nichts. Habe auch mal das Marker-Icon weggelassen. Ebenfalls nichts.Code:<script type="text/javascript"> /* <![CDATA[ */ mapdata = new Array(); mapdata['dlh_googlemap_32'] = new Array(); mapdata['dlh_googlemap_32']['marker'] = new Array(); mapdata['dlh_googlemap_32']['marker'][0] = new Array(); mapdata['dlh_googlemap_32']['marker'][0]['coords'] = '37.4429, -122.2429'; mapdata['dlh_googlemap_32']['marker'][0]['icon'] = 'tl_files/liaisons_layout/welt_dot.png'; mapdata['dlh_googlemap_32']['marker'][0]['icon_position'] = ''; mapdata['dlh_googlemap_32']['marker'][0]['icon_size'] = ''; mapdata['dlh_googlemap_32']['marker'][0]['shadow'] = 'tl_files/liaisons_layout/no_shadow.gif'; mapdata['dlh_googlemap_32']['marker'][0]['shadow_size'] = ''; mapdata['dlh_googlemap_32']['marker'][0]['infotext'] = 'Dieser Marker ist<br />dynamisch eingefügt worden!'; mapdata['dlh_googlemap_32']['marker'][0]['info_position'] = ''; mapdata['dlh_googlemap_32']['marker'][0]['autoinfo'] = false; /* ]]> */ </script>
Woran kann es noch liegen? Darf ein Marker im Modul selbst trotzdem eingetragen sein?
Ja, der Marker darf drin sein. Hast Du einen Link?
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
Kann ich momentan leider nicht nachvollziehen.
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
Falls Du Zeit hast: Ich könnte Dir einen Backend-Zugang schicken.
Geändert von dotflo (11.03.2010 um 15:56 Uhr)
So, ich habe mir das Ganze jetzt nochmal genauer angegeuckt. Die CDATA-Auszeichnung ist so ok und valide.
@xchs:
In Scripten ist die bisherige AUszeichnung absolut ok, CSS würde ich Deine (1. Variante) nehmen. Deckt sich auch mit http://en.wikipedia.org/wiki/CDATA.
@dotflo:
Wenn ich an die Artikel nicht rankomme, ist das natürlich nicht ganz einfach
Aber egal, ich hab's durch Templatemodifikationen getestet. Dei Problem löst Du, indem Du dem dynamisch hinzugefügten Icon eine Größe gibst (30,30).
Die Zeichenanzahl im Infotext ist jetzt praktisch unbegrenzt, somit passen auch Romane da rein
Grüße,
Christian
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
Guten Morgen,
ich habe jetzt schon gesucht wie ein Irrer und obige Möglichkeit gefunden. Werde ich gleich mal testen.
Aber verglichen mit den typischen Links von Google mit dem "von hier - nach hier" ist das ja ein Workaround. Steht da schon was auf dem Entwicklungsplan, das Feature in einer kommenden Version mal einzubauen? Ich hatte mir vor einer Weile die Google Dokumentation mal angesehen, aber wirklich schlau bin ich daraus nicht geworden...
Grüße
Tomy
Naja, es hängt immer auch davon ab, was man letzendlich haben möchte. Du kannst diesbezüglich ja auch die Google-Karte per iframe einbinden, dann hast Du auch sämtliche Einträge betreffend die Routenplanung ("Route berechnen: Hierher, Von hier, In der Nähe suchen, Hierhin zoomen)
Die beiden Optionen "Hierher" bzw. "Von hier" kannst Du jedenfalls über entsprechende Links in der Sprechblase selbst leicht nachbauen.
Das mit dem iFrame kenne ich und das ist auch meine liebste Methode, eine GoogleMap einzubinden.
Ich dachte mir, daß es im Regelfall ganz praktisch wäre, wenn diese Funktionalität generell oder optional enthalten ist. Für uns als Profis ist es ja ein leichtes, da mal ein paar Anpassungen im Code zu machen. Ich denke da manchmal auch an den einen oder anderen "Weniger-Profi", der sich so eine Funktion u.U. wünscht, aber keinen blassen Schimmer hat, wie es funktioniert.
Hallo Leute
Weiss jemand wie man das Modul auch bei einem Domainalias verwenden kann?
Der API-Schlüssel ist ja nur für einen Domainamen gültig...
Danke
Nur mit einer Template-Anpassung. Wo steht
muss statt $this->google_id der Key für die jeweilige Domain ausgegeben werden. Das müsstest Du halt irgendwie da reinbekommen.Code:<script src="http://maps.google.com/maps?file=api&v=2&key=<?php echo $this->google_id; ?>&sensor=<?php echo $this->sensor; ?>&hl=<?php echo $this->lang; ?>" type="text/javascript"></script>
Es macht aber eh keinen Sinn, die Inhalte unter 2 oder mehr Domains erreichbar zu machen.
Grüße,
Christian
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
Hallo Christian
Vielen Dank für den Hinweis!
Ich habe keine Ahnung von php und habe es nach langem ausprobieren so gelöst, dass ich folgenden Code am Anfang des Templates eingefügt habe:
Scheint zu funktionieren! Oder gäbe es eine bessere Lösung?Code:<?php $myurl = $this->replaceInsertTags( '{{env::url}}' ); if ($myurl == 'http://www.domainname' || $myurl == 'http://domainname') { $this->google_id = 'Schlüssel für zweite Domain'; }; ?>
Danke und Gruss
Cubano
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
Hallo Bobi,
das hat evtl. was mit Deiner Installation zu tun (Cache?). ich kann das jedenfalls nicht reproduzieren.
Grüße,
Christian
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
Mh - ok, danke.
Cache ist aus - das komische ist das es bei jedem anderen Modul funktioniert, nur bei der Googlemaps....ich such mal weiter....
Tja, ganz so einfach wird das dann doch nicht gehen. Ohne es jetzt selbst probiert zu haben, müsste man wahrscheinlich das Frontend-Template entsprechend anpassen, damit diese beiden Funktionen zur Verfügung stehen:
PHP-Code:
function getRouteInfoWindow(sAction)
{ // this ist marker
var LatLong = this.getLatLng();
var aDisplay = ["block", "none", "none"];
if (sAction == "to") aDisplay = ["none", "block", "none"];
else if (sAction == "from") aDisplay = ["none", "none", "block"];
var sTargetName = this.openRouteInfoWindow_targetName;
var sHtml = this.openRouteInfoWindow_html;
// Info Window: Route
sHtml += '<div style="display:'+aDisplay[0]+';">' +
'Route: <a href="javascript:ShowRoute(\'to\');">Hierher</a> - <a href="javascript:ShowRoute(\'from\');">Von hier</a>' +
'</div>';
// Info Window: Hierher
sHtml += '<div style="display:'+aDisplay[1]+';">' +
'Route: <b>Hierher</b> - <a href="javascript:ShowRoute(\'from\');">Von hier</a>' +
'<br />Start:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
'<input type="text" SIZE=40 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br />' +
'<input value="OK" TYPE="SUBMIT">';
if (sTargetName != "")
sHtml += '<input type="hidden" name="daddr" value="'+sTargetName+'" />';
else sHtml += '<input type="hidden" name="daddr" value="'+LatLong.lat()+','+LatLong.lng()+'" />';
sHtml += '</form></div>';
// Info Window: von hier
sHtml += '<div style="display:'+aDisplay[2]+';">' +
'Route: <a href="javascript:ShowRoute(\'to\');">Hierher</a> - <b>Von hier</b>' +
'<br />Ziel:<form action="http://maps.google.com/maps" method="get" target="_blank">' +
'<input type="text" SIZE=40 MAXLENGTH=40 name="daddr" id="daddr" value="" /><br />' +
'<input value="OK" TYPE="SUBMIT">';
if (sTargetName != "")
sHtml += '<input type="hidden" name="saddr" value="'+sTargetName+'" />';
else sHtml += '<input type="hidden" name="saddr" value="'+LatLong.lat()+','+LatLong.lng()+'" />';
sHtml += '</form></div>';
this.closeInfoWindow();
this.openInfoWindow(sHtml);
}
function ShowRoute(sAction)
{ marker.openRouteInfoWindow(sAction);
}
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
Geändert von paulh (29.06.2010 um 12:14 Uhr)
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:Hoffe ich konnte damit auch anderen helfen die das gleich Problem haben. Vllt. kann man diese Option noch standardmäßig in das Modul aufnehmen.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);
}
Gruß
Paul
Hi Christian
Das Problem hat sich insofern ausgeweitet, dass sich auch andere CE's nicht mehr kopieren haben lassen. Fehlermeldung: http://pastebin.com/BBRphpP7
Die Fehlermeldung kommt von ModuleDLH_GoogleMaps.php Zeile 48:
Die richtige Schreibweise müsste lauten:Code:$objTemplate = new backendTemplate('be_wildcard');
Danach funktioniert das Kopieren der CE's wieder.Code:$objTemplate = new BackendTemplate('be_wildcard');
Danke an BugBuster für die Mithilfe.
lg mani
Geändert von manitougs (18.07.2010 um 23:40 Uhr)
Für die schnelle Hilfe zwischendurch kannst Du gerne den inoffiziellen Chat besuchen:
Server: irc.freenode.net || Channel: #contao.de
Oops. Ich korrigier's - danke.
Grüße,
Christian
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
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 :
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'] = ''; 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>
Und um noch einmal die Frage von joker aufzugreifen: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>
Vielen Dank!Kann ich einzelne Parameter auch global für alle Marker setzen?
Geändert von webster (14.10.2010 um 22:43 Uhr)
Hallo webster,
du bist nicht allein... ;-) Ich habe das gleiche Problem, allerdings etwas anders.
Ich ziehe Adressen dynamisch aus dem Katalog und lasse diese je nach Kategorie mit einem farblich anderem Icon auf der Karte anzeigen. Ohne Filter werden alle Adressen aus den verschiedenen Kategorien im Firefox und Opera korrekt mit entsprechendem Icon angezeigt. Im IE8 wird nur jedoch nur das Kartenzentrum mit einem (und das ist echt merkwürdig) eigenem Icon angezeigt.
Wähle ich jedoch eine Kategorie aus, werden die entsprechenden Einträge mit dem korrekten Icon auch im IE angezeigt.
Bislang habe ich noch keine Ahnung, wo die Ursachen zu finden wären - zähle aber eher auch zu den PHP- und Sript-Dumpfbacken... ;-) Vielleicht hat jemand noch eine Idee...
Hier ein Link mit den entsprechend Problemen
Grüße
PAndroid
Hat niemand eine Idee, was die Ursache dafür sein könnte?
Ich stehe auch immer noch auf dem Schlauch. Ein workaround wäre auch okay. Ansonsten fällt mir tatsächlich nur noch ein, die Punkte für den IE mittels ConditionalComments zu überschreiben, so dass Standard Icons verwendet werden. Und wieder einmal sieht's dann auf dem IE schlechter aus als auf anderen Browsern.
Aber wenn man wie Du, pandroid, auf unterschiedlich gefärbte Icons angewiesen ist...
Hi Christian
Ich habe laut deinen Anweisungen ein Modul erstellt, das dynamische Template gewählt und im Artikel oberhalb der eingebundenen Modules ein ContentElement mit dem Script-Code, wie in deinem ersten Posting beschrieben, eingebunden.
Funktioniert auch alles soweit.
Beim Betrachten des Quelltext ist mir jedoch aufgefallen, dass oberhalb des Modules ZWEI Scripte eingebunden werden. Einmal mit dem Code meiner Marker und einmal die auskommentierte Variante, wie sie im Template steht.
Stört zwar die Funktion nicht, aber die Variante mit der Code-Einbindung als ContentElement ist auch nicht sauber. Es wäre m.M.n. durch diesen Umstand besser, die Marker direkt im Template zu setzen.
Blos so als Anmerkung.
lg mani
Für die schnelle Hilfe zwischendurch kannst Du gerne den inoffiziellen Chat besuchen:
Server: irc.freenode.net || Channel: #contao.de
hallo alle
ich glaub ich bin blöd, aber wo muss ich nun den generierten api-key eingeben, bzw. einfügen?
danke und gruss
Hi
In der Seitenstruktur im "Startpunkt der Webseite".
lg mani
Für die schnelle Hilfe zwischendurch kannst Du gerne den inoffiziellen Chat besuchen:
Server: irc.freenode.net || Channel: #contao.de
ah, ok. habs gefunden. nun aber ein weiteres problem:
ich habe vorher kein "startpunkt der website" erstellt gehabt. hats auch nicht gebraucht. um in ruhe zu coden und zu testen, habe ich eine index.html auf den server geloadet, welche vor der index.php angezeigt wird. also konnte ich indirekt per xyz.com/index.php auf die website zugreifen.
nun habe ich aber einen "startpunkt der website" erstellt. und wo ist jetzt die site? per index.php komm ich nicht drauf, wie dann?
thx
Liegen Deine "Regulären Seiten" innerhalb dieses "Startpunktes einer Webseite"?
Schau Dir dazu am besten die Contao Online-Demo an, wie es dort gemacht wurde!
looool. danke....
hallo
ich hoffe du kannst mir helfen! ich habe dein modul eingebunden, erhalte aber immer eine fehlermeldung, wenn die seite aufgerufen wird (obwohl ich einen API-schlüsse habe und ihn eingetragen habe):
http://colasantenberg.ch/index.php/lagerplatz.html
viele grüsse
silas
Wenn man sich den Quellcode der Seite ansieht, dann findet man dort drei googlemaps-Aufrufe aber nur der erste und der dritte besitzen den key. der 2 beitzt keinen key und erzeugt den fehler.
Gruß ChrMue
Hi,
wie ich mitbekommen habe geht es hier um den Google Routenplaner. Hat von euch jemand eine Ahnung nach welchem Algorithmus der optimale bzw die Alternativpfade generiert werden?
würde mich freuen wenn mir jemand weiterhelfen kann ^^.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen