Druckversion des Themas

Hier klicken um das Topic im Orginalformat anzusehen

Forum Sefrengo.org _ Alpha, Beta, ...... _ Googlemap

Geschrieben von: pawel Thu. 14. December 2006, 22:57

Anbei noch eine sehr frühe Variante für Eure Experimente.
Dank Kettis Tip ist es jetzt ein Modul, was im body beliebig platziert werden kann und eine Googlemap auf die Seite bringt. (gut für Anfahrtsbeschreibungen) Nötig ist nur ein Key, der bei Google kostenlos beantragt werden kann (habe ich im Modul verlinkt).
Dann müßt ihr noch eine Adresse eingeben, einen Titel des Infowindows und den Text .

Genutzt wird dabei eine http://phpinsider.com/php/code/GoogleMapAPI/, die nach backend/inc kopiert werden muss (liegt dem Zip aber bei)

ToDo
- beliebig viele Marker
- Veränderung der Klasse insbesondere printMap (ich habe da an eine neue Kasse sfGoogl... gedacht, die die Hauptfunktionen erbt)
- mehr Optionsfelder (Sidebar, andere Icons, direkte Eingabe von Koordinaten, Routenplaner usw.)
- JS in externe Datei schreiben

 Googlemap.zip ( 12.27KB ) : 66
 

Geschrieben von: MaZderMind Fri. 15. December 2006, 00:03

ZITAT
die nach backend/inc kopiert werden muss

Besser einen Ordner unter external anlegen, noch viel besser wäre alles ins modul (bei einem update wird der komplette backendordner gelöscht und das modul funktioniert nichtmehr)

ZITAT
Veränderung der Klasse

Aber nur über Vererbung, nüsch? smile.gif Updatefähigkeit beibehalten!

Sonst Lob: Echt Kuhl!
Gruß, Peter

Geschrieben von: bjoern Fri. 15. December 2006, 00:12

Würde die Klasse auch in das Modul packen.

Geschrieben von: pawel Fri. 15. December 2006, 11:49

Ja ja, ich wollte ja erben. Deshalb sollte die Klasse in der Grundform erhalten blieben und evtl. updates könnte einfach überkopiert werden

Geschrieben von: mvsxyz Tue. 24. April 2007, 10:42

Bei mir funktioniert das Modul nicht. Ich habe mir einen Key bei Google geholt und und das Modul auf der Seite platziert. Wenn ich dann die Seite aufrufe, dann sehe ich alle Navigationselemente, aber keine Karte. Liegt das an Google oder am Modul?

Geschrieben von: mvsxyz Wed. 6. June 2007, 18:37

Hab es mittlerweile selber heraus gefunden. Dem <div id="map"> muss mittels CSS noch eine Größe zugewiesen werden.

QUELLTEXT
#map {
  height:600px;
  width:800px;
}


Dann wird die Karte auch richtig angezeigt.

Geschrieben von: pawel Sat. 21. July 2007, 20:49

Ich lad dafür meistens die css per js nach:
document.write('<link rel="stylesheet" href="cms/css/maps.css" type="text/css" />');

Geschrieben von: FireFlyer Sat. 5. July 2008, 10:08

Da mir das Modul schon gut gefällt, hab ich ein wenig die oberen FR aufgenommen und einen neue Version geschaffen.
Hoffe pawel ist mir nicht böse! mad.gif

Bugfix:
- Google-Key Link => target _blank
- GoogleMapAPI-2.5 ins Modul gepackt
- Breite und Höhen können im Modul angegeben werden. Finde ich dort besser aufgehoben, als in der CSS-Datei!

Todo:

QUELLTEXT
echo "<style type=\"text/css\" media=\"screen\">
<!--
  #map { height:500px; width:500px; }
-->
</style>";

echo "<div id=\"map\"></div>";

Das Div sollte die Größenangaben direkt aus:
Breite=MOD_VALUE[4] und Höhe=MOD_VALUE[5] beziehen. Hier hab ich es mal fest rein gesetzt.

Bitte mal testen und helfen!!!

 GoogleMap2.zip ( 12.67KB ) : 1

Geschrieben von: pawel Sat. 5. July 2008, 17:42

ZITAT
Hoffe pawel ist mir nicht böse!

Natürlich nicht, die SF-Tradition, das jeder "seine" Module weiterentwickelt, kann ruhig durchbrochen werden. rolleyes.gif
Ich bemühe mich allerdings js und css in externen Dateien vorzuhalten. Das Modul schreit sozusagen nach addheader cool.gif .
Es wäre also dann evtl. eine Datei map.css zu schreiben und einzubinden. Ursprünglich wollte ich mit dem Modul auch Adressen in die Datenbank schreiben oder mit Flickr mashen.
Wobei brauchts Du denn Hilfe?

Geschrieben von: FireFlyer Sun. 6. July 2008, 10:33

Schau mal in den Code. Da wird (ich versuch das jetzt aus dem Kopf) für Google $map=height('MOD_VALUE[4]') oder ähnlich verwendet.
Google Map kapiert das, aber anscheinend (wie schon mvsxyz geschrieben hat) braucht das DIV auch diese Angaben:

QUELLTEXT
echo "<style type=\"text/css\" media=\"screen\">
<!--
  #map { height:500px; width:500px; }
-->
</style>";

echo "<div id=\"map\"></div>";


ich wollte dies in diese Richtung ändern:

QUELLTEXT
echo "<style type=\"text/css\" media=\"screen\">
<!--
  #map { MOD_VALUE[5]; MOD_VALUE[4] }
-->
</style>";

echo "<div id=\"map\"></div>";


Vielleicht kann man dies ja auch einfacher schreiben, denn ích denke so wie oben dürfte das nicht klappen. Mir fehlt da aber mal wieder der Programmiererblick!

Geschrieben von: bkm Sun. 6. July 2008, 12:34

schonmal in die api geschaut ? dort gibt es sowas wie

QUELLTEXT
$map->setWidth('x')
$map->setHeight('x');

vll. kommste damit weiter.

Geschrieben von: FireFlyer Sun. 6. July 2008, 13:18

Hab ich und es steht auch schon im Modul. Man kann die Breite ja erkennen, welche im Modul eingestellt ist, aber anscheinend muß dem DIV auch diese Größen mit gegeben werden. Das hatte ich mit dem Problem von msvxyz gemeint. Er mußte auch erst per CSS dem DIV eine Größe mitgeben, damit es funktioniert.

Deshalb wollte ich mit dem Ansatz von oben automatisch mitgeben.
Vielleicht würde auch hier gehen:

QUELLTEXT
echo "<div id=\"map\" width="MOD_VALUE[4]" height="MOD_VALUE[5]"></div>";


Ich hab eben Probleme, wenn es um PHP-Code gemischt in HTML geht. Da gibt es ja dann: \= oder ' oder " und das ist für mich als Laie nicht immer so verständlich.

Geschrieben von: pawel Sun. 6. July 2008, 17:21

Probier mal einfach $map->printMap(); vielleicht ist es das , was du brauchst?
Ich habe es zur Zeit nirgendwo im Einsatz, deshalb kann ich nicht testen.

Geschrieben von: FireFlyer Sun. 6. July 2008, 18:52

Kannst mal bei mir testen! PN on tour.

Geschrieben von: pawel Sun. 6. July 2008, 21:21

Geht, habs angepasst.

Geschrieben von: FireFlyer Mon. 7. July 2008, 08:20

Dank dir pawel.
Diese Version kann ins Archiv wandern, da die neue Version http://forum.sefrengo.org/index.php?showtopic=2054 verfügbar ist!

Unterstützt von Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)