MapCreator für CMBasic

Aktuell schreibe ich eine erneute Erweiterung für das Content Managment System CMBasic, nämlich den MapCreator.

Das Script, wird es als integrierte Lösung Ermöglichen, in CMBasic auf einfache Art und Weise Karten von GoogleMaps direkt im Seiteninhalt darstellen zu können.

Die einfachste Möglichkeit dazu, stellt der künftige Symbolbefehl {map} dar, an deren stelle bei der Ausgabe eine Karte mit dem im Backend eingetragenen Grunddaten angezeigt wird.
Möchte man verschiedene Karten mit unterschiedlichem Inhalten darstellen, kann man den Befehl um weitere Parameter erweitern. Mit den zusätzlichen Angaben zu Längen und Breitengrad hinter dem Schlüsselbefehl, etwa durch {map,52.5211265,13.4100090}, erscheint eine Karte mit einem Markierungspunkt auf diese Koordinaten. Möchte man noch eine Infoblase (durch anklicken) zu diesem Punkt schreibt man noch deren Inhalt (auch in html) dahinter, z.B. {map,52.5211265,13.4100090,<b>Fernsehturm</b> in Berlin}.
Durch weitere alternative Parameter kann sogar noch der Zoomfaktor und die Kartengröße variiert werden, etwa so: {map,52.5211265,13.4100090,<b>Fernsehturm</b> in Berlin,16,400,300} für Zoomfaktor= 16, Breite= 400 Pixel und Höhe= 300 Pixel.

Es ist auch möglich mehrere Markierungspunkte in einer Karte zusammen darzustellen.
Dazu legen Sie eine csv Textdatei mit durch ein Komma getreten Daten an. In der ersten Zeile Notieren Sie die Grunddaten für die Karte (Breitengrad,Längengrad,Zoomfaktor,Breite,Höhe,Kartentyp(0-4)) die das Zentrum und die Darstellung bestimmen. Darunter schreiben Sie nun für jeden Markierungspunkt eine neue Zeile mit deren Koordinaten und einem optionalen Infotext der bei einem Klick auf den Punkt angezeigt werden soll (Breitengrad,Längengrad,Infotext). Speichern Sie die Datei z.B. unter Karte.csv auf Ihrem Server ab und rufen diese mit dem Symbolbefehl im Text wie folgt auf: {map,Karte.csv}.
Bei dieser Darstellungsform, können Sie alternativ auch die Steuerelemente der Karte unabhängig von den Grundeinstellungen frei Wählen. Erweitern Sie dazu einfach die erste Zeile um die vier Schalter mit on oder off für: Bedienelement; Typenauswahl; Maßstab und Übersichtskarte z.B. (… ,on,on,off,on).
Pflichtangabe in der csv Datei ist dabei jeweils nur der Breiten- und Längengrad, alle anderen Werte werden ggf. von den Grundeinstellungen übernommen.

Jetzt werden aber einige Sagen: “das ist ja alles Super, aber woher bekomme ich die Koordinaten” ? Alles halb so wild, dazu habe ich zu guter letzt extra noch einen Geokodierer mit in das Administrationsscript eingebaut. Mit ihm lassen sich auf einfachste weise durch Suchbegriffe und interaktiv in der Kartenvorschau exakte Koordinatenpunkte bestimmen.

Der MapCreator wird nach Fertigstellung direkt in CMBasic eingebunden und von Johann-Christian Hanke mit der nächsten Version veröffentlicht werden.

Über Kommentare würde ich mich sehr freuen, für Ihr Feedback nutzen Sie bitte das Kontaktformular.

7 Gedanken zu “MapCreator für CMBasic

  1. Hallo,
    leider bietet Google seit 2012 keine API-Keys mehr an.
    Wenn man keinen API-Key hat (die alten Keys funktionieren noch!), kann man die Html-Datei, die auf <a href="https://developers.google.com/maps/documentation/javascript/tutorial?hl=de#api_key&quot; https://developers.google.com/maps/documentation/javascript/tutorial?hl=de#api_key steht, abspeichern (dabei: sensor=false eintragen, die Koordinaten und Zoomstufe anpassen sowie die MapTypeId z.B. als MapTypeId.HYBRID einstellen).
    In CMBasic wird diese Html-Datei unter “Files” hochgeladen und kann dann in einem Iframe angezeigt werden, z.B. mit:

    G. Hemmerling

  2. Hallo, mal eine Frage zu diesem gut gemachten Feature. In Google-Maps erscheint beim Öffnen einer Objektblase ein u.a. ein Link zu einer Routenberechnung. Könnte man diesen auch mit einbinden ?

    • Hallo Silli,
      In der aktuellen Zwischenversion 1.5 des MapCreator ist dieses Funktion neben zwei weiteren Verbesserungen bereits mit umgesetzt.
      Ausführliche Informationen dazu sind hier zu finden und für eine Live-Demo bitte hier klicken.
      In der kommenden Version soll dann auch die Routenberechnung innerhalb der eigenen Seite möglich werden, wird aber noch etwas dauern.

  3. Pingback: AlexanderGreat

  4. Erstmal Gratulation zum MapCreator für CMBasic.
    Einfach klasse! Super gemacht, bin einfach begeistert.
    Zu der Nutzung habe ich aber nochmal eine Frage. Wie sieht es rechtlich mit der Nutzung der Google-Maps aus? Ist das kostenfrei auf kommerziellen und nicht kommerziellen Seiten einsetzbar oder sind da irgendwelche Lizenzgebühren fällig? War da nicht mal was mit der Maps-API?
    Wäre nett. wenn Du mich da mal kurz aufschlauen könntest. Vielen Dank.

    • Danke für das Feedback, freut mich das dir meine Arbeit gefällt.
      Der MapCreator erzeugt ja selber keine Karte, sondern erstellt ein JavaScript für die Maps-API Schnittstelle von Google (wie du ja schon richtig vermutet hast).
      Die Anzeige der Karten ist kostenfrei und sie dürfen im allgemeinen sowohl auf kommerziellen wie nicht kommerziellen Seiten eingebunden werden. Genauere Informationen (inkl. der Nutzungsbedingungen und Anmeldeformular) findest du auf folgender Seite: http://code.google.com/intl/de/apis/maps/signup.html
      Sofern du die Karten im öffentlich zugänglichen Bereich Anzeigst, kein Geld für die Anzeige der Karten vom User verlangst und die Karten nicht für kriminelle Zwecke und/oder illegale Aktivitäten missbrauchst sollte es keine Probleme geben.
      Wenn du mit den Informationen unter obigem Link aber nicht alle Fragen mit Gewissheit klären kannst, empfehle ich dir eine kurze Juristische Beratung für genau deinen Einsatzzweck, welche ich hier leider nicht leisten kann und will!
      Ich wünsche dir viel Erfolg mit dem MapCreator und CMBasic auf deiner Webseite.
      P.S. Alle Angaben ohne Gewähr

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>