DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

ad: Google Maps

Created:2010-02-18T17:33:18
Changed:2013-04-10T15:31:06
Classification:ad_google_maps
Description:The keywords help with categorizing and tagging of the manuals. You can combine two or more keywords and add additional keywords yourself. Please use at least one keyword from both lists. If your manual is NOT in english, see next tab "language" ---- forEditors (use this for editors / german "Redakteure") forAdmins (use this for Administrators) forDevelopers (use this for Developers) forBeginners (manuals covering TYPO3 basics) forIntermediates (manuals going into more depth) forAdvanced (covering the most advanced TYPO3 topics) see more: http://wiki.typo3.org/doc_template#tags ----
Keywords:google, map, frontend, forEditors, forAdmins, forDevelopers, forAdvanced
Author:Arno Dudek
Email:webmaster@adgrafik.at
Info 4:
Language:de

img-1 img-2 ad: Google Maps - ad_google_maps

ad: Google Maps

Extension Key: ad_google_maps

Language: de

Keywords: google, map, frontend, forEditors, forAdmins, forDevelopers, forAdvanced

Copyright 2000-2011, Arno Dudek, <webmaster@adgrafik.at>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.org

Table of Contents

ad: Google Maps 1

`Introduction 3 <#1.1.Introduction|outline>`_

What does it do? 3

Screenshots 3

`Administration 6 <#1.2.Administration|outline>`_

Installation 6

Extension-Konfiguration 6

`Users manual 7 <#1.3.Users%20manual|outline>`_

Erstellen einer Ebene mit Markierungen 7

Erstellen einer Kategorie 10

Erstellen einer Karte 10

Die Karte in die Seite integrieren 11

Objektnummer-Funktion 12

`Configuration 13 <#1.4.Configuration|outline>`_

settings 13

api 13

plugin 13

mapDrawer 13

map 14

layer 16

`Known problems 22 <#1.5.Known%20problems|outline>`_

`To-Do list 23 <#1.6.To-Do%20list|outline>`_

`ChangeLog 24 <#1.7.ChangeLog|outline>`_

Introduction

What does it do?

Diese Extension ist die Basis für ein Lego-basierendes System zur Darstellung von Google Maps-Inhalte in TYPO3. Dabei können sämtliche Optionen, die die Google Maps API V3 zur Verfügung stellt, im BackEnd- Eingabeformular gesetzt werden.

  • Verwendung der Google Maps API V3 ( http://code.google.com/intl/de/ap is/maps/documentation/javascript/reference.html )
  • Erstellung von einfachen bis hin zu komplexen Google Maps.
  • Es können mehrere Google Maps auf einer Seite plaziert werden (wer’s braucht).
  • Mit dem “Plugin” kann jedes einzelne Element per JavaScript angesprochen werden.
  • Kategorie-Management
  • Beinhaltet Ebenentyp “Markierung”
  • Jedes erstellte Objekt kann mit einem Infofenster versehen werden.
  • Die Infofenster sind Seiteninhalte und somit frei konfigurierbar.
  • Es können ein oder mehrere Seiteninhalte per optionSplit mit einem Infofenster verknüpft werden. Somit kann man aus den einzelnen Seiteninhalte eigene Tabs bauen, die Google Maps API V3 nicht mehr unterstützt.
  • Die optionSplit-Funktion kann ebenfalls für die Markierungstiteln, Icons, Icon-Schatten und Listenansicht verwendet werden.
  • Vordefinierte Listenfunktionen wie openInfoWindow, panTo und fitBounds, sowie die Möglichkeit eigene Funktionen zu erstellen.
  • Enthält das Markierungs-Cluster-Plugin ( http://google-maps-utility-l ibrary-v3.googlecode.com/svn/tags/markerclusterer/1.0/docs/examples.ht ml )
Vorhandene Plugins
  • ad: Google Maps Plugin Poly-Layer ( ad_google_maps_plugin_poly )Erweitert diese Extension mit zwei neuen Ebenentypen für Polylinien und Polygone.
  • ad: Google Maps Plugin KML-Layer ( ad_google_maps_plugin_kml )Erweitert diese Extension mit einem neuen Ebenentyp für KML-Dateien.
  • ad: Google Maps Plugin Address Coordinates Provider ( ad_google_maps_plugin_address )Erweitert diese Extension mit einem neuen Koordinaten-Provider für tt_address.

Screenshots

img-3

Markierungs-Ebene mit MapDrawer als Koordinaten-Provider

img-4

img-5 Umfangreiche Einstellungsmöglichkeiten für Markierungen

img-6

Mit aktiviertem Markierungs-Cluster-Plugin.

Unterstützen

Wer diese Extension nützlich findet, dass er sich gern bedanken will, kann hier per PayPal spenden oder mal den Amazon-Wunschzettel durchstöbern.

DANKE!

Administration

Installation

Installiere im Extension-Manager die Extension ad_google_maps. Weiters werden die Extensions extbase 1.2.1 und fluid 1.2.1 oder höher benötigt.

Passe bei Bedarf die Extension-Konfiguration an.

img-7

Wichtig! Füge das statische Template “ad: Google Maps (ad_google_maps)” in das Template ein.

img-8 Erstelle einen neuen Systemordner.

Wichtig! Gebe die UID des erstellten Systemordners im Konstanten Editor unter “Datensatzsammlungs-PID” ein.

Extension-Konfiguration

Folgende Optionen können in der Extension-Konfiguration gesetzt werden:

uploadDirectories

Property

uploadDirectories

Data type

array

Description

Hier werden alle Upload-Verzeichnisse für das BackEnd-Eingabeformular definiert. Mögliche Eigenschaten sind:

  • categoryIcons
  • markerIcons
  • shadowIcons
  • mouseCursor
  • markerCluster

Default

uploads/tx_adgooglemaps/

l10n

Property

l10n

Data type

array

Description

Lokalisierungsoptionen:

  • prependTranslationInfo: Standardmäßig werden allen Textfelder (title, description etc.) "[Translate to ...]" vorangestellt. Wenn das nicht gewünscht ist, kann man das hier deaktivieren. Wenn "prependTranslationInfo" deaktiviert ist, werden bei einer Kopie der Text "(Copy [#])" zum Titel angehängt solange "prependAtCopy" nicht deaktiviert wurde (siehe "prependAtCopy").
  • excludeProperties: Eigenschaftsfelder verstecken: Wenn üblicherweise eine Übersetzung eines Datensatz gemacht wird, benötigt man in den meisten Fällen nur die Textfelder. Wenn andere Felder auch bearbeitet werden sollen, kann man hier die Option setzen. Ist der Wert auf "Nur Textfelder" gesetzt, kann man nur Textfelder wie "Titel" oder "Beschreibung" bearbeiten. Wenn der Wert auf "Nur Text- und Dateifelder" gesetzt wird, können zusätzlich die Bilder- und Dateienfelder bearbeitet werden. Ist er auf "Zeige alle" gesetzt, kann man sämtliche Felder bearbeiten.
  • hideNewLocalizations: Verstecke neue Lokalisierungen: Hier kann man wählen, ob eine neu angelegte Lokalisierung versteckt sein soll oder nicht. Standardmäßig sind sie sichtbar.

Default

prependAtCopy

Property

prependAtCopy

Data type

boolean

Description

Beim Kopieren hinzufügen: Hier kann der Text "(Kopie [#])" deaktiviert werden, der beim Kopieren eines Datensatz im Titel hinzugefügt wird.

Default

Users manual

Erstellen einer Ebene mit Markierungen

img-8

img-9

Gehe zum erstellten Systemordner “Google Maps” und erstelle einen neuen Datensatz vom Typ “Ebene”.

img-10

Der Standardtyp einer Ebene ist “Markierung”.

Setzte einen Titel für die Ebene. Dieser Titel ist ein Arbeitstitel und wird im FrontEnd nicht benötigt.

img-11

Platziere eine oder mehrere Markierungen mit dem “MapDrawer”. Mit einem Klick wird die Markierung gesetzt. Bei einem Doppelklick wird sie wieder entfernt. Die Markierung kann auch per Drag and Drop verschoben werden.

img-12

Weiters kann man mit dem Suchfeld eine Adresse punktgenau suchen. Wurde die eingegebene Adresse gefunden fügt man eine Markierung durch klicken auf die “Set Marker”-Schaltfläche ein.

Im Feld “Koordinaten” werden alle Koordinaten der Markierungen der Reihe nach eingefügt. Bei Bedarf kann man die Koordinaten auch dort setzen oder bearbeiten. Jede Zeile entspricht dabei einer Markierung.

Markierungen formatieren

img-13

Im Bereich “Markierungen” kann man jeder Markierung einen Titel zuweisen. Jede Zeile entspricht dabei einer Markierung. Die Reihenfolge ist dieselbe, wie man die Markierungen auf der Karte platziert hat.

Icons zuweisen

Im Verzeichnis “ad_google_maps/Resources/Public/Icons/” gibt es im Unterverzeichnis “Marker” eine Auswahl an netten Icons von Douglas Karr ( http://www.marketingtechblog.com ) ( http://www.marketingtechblog.com/download/icons.zip ). Im Unterverzeichnis “Shadow” findet man den passenden Schatten dazu.

img-14

img-15

Füge für jeder Markierung ein Icon und den passenden Schatten hinzu. In diesem Fall benötigen wir je ein Icon für eine Markierung und ein Bild für den Schatten. Dieser wird automatisch bei jeder Markierung verwendet.

Infofenster hinzufügen

img-16

img-17

Um jeder Markierung ein Infofenster zuzuweisen füge unter “Infofenster” einen neuen Seiteninhalt ein. Wird nur ein Seiteninhalt angelegt, wird dieser jeder Markierung zugewiesen. In diesem Beispiel legen wir neun an. Die Reihenfolge ist wiederum dieselbe, wie man die Markierungen auf der Karte platziert hat.

Erstellen einer Kategorie

img-18

Um eine Kategorie zu erstellen füge einen neuen Datensatz vom Typ “Kategorie” ein.

img-19

Gib der Kategorie einen Titel und füge unter “Ebenen” die erstellte Ebene hinzu.

Erstellen einer Karte

img-20

Um eine Karte zu erstellen füge einen neuen Datensatz vom Typ “Karte” ein und gib einen Titel an.

img-21

Wähle aus den Vorlagen die gewünschten Ansichten aus.

img-22

Wähle die erstellte Kategorie unter “Kategorien” aus.

img-23

img-24

Um die Karte noch etwas zu verschönern, wird der “Initial Kartentyp” auf “Terrain” gesetzt und das “Kartenzentrum” unter “Initial” auf “Allen Ebenen anpassen” gesetzt. Das bewirkt, dass alle Markierungen von Anfang an auf der Karte sichtbar sind.

Die Karte in die Seite integrieren

img-25

Dazu erstelle einen neuen Seiteninhalt vom Typ “Plugin” und wähle das Plugin “Google Maps” aus. Danach füge die erstellte Karte unter “Karte” ein. Jetzt sollte die Seite so aussehen:

img-26

Objektnummer-Funktion

Das Objektnummer-Feld (optionSplit) ist eine ganz gefinkelteFunktion die es erlaubt die Reihenfolge von Markierungstiteln, Icons, Icon- Schatten und Infofenster zu steuern.

[leer]

Command

[leer]

Description

Ist das Objektnummer-Feld leer werden die Objekte (Markierungstiteln, Icons, Icon-Schatten und Infofenster) auf jeder Koordinate im Koordinaten-Feld in der eingegebenen Reihenfolge gesetzt.

Sind mehr Koordinaten vorhanden als Objekte, wird das letzte Objekt auf den übrigen Koordinaten angewendet.

optionSplit-Value

Command

optionSplit-Value

Description

Beispiel:

1 |*| 2 |*| 1

Mit diesem Wert im Objektnummer-Feld wird das erste Objekt auf der ersten und auf der letzten Koordinate angewendet. Alle Koordinaten die sich dazwischen befinden erhalten das zweite Objekt.

1,2 |*| 1,2 |*| 1,2

Dieser Wert bewirkt bei Infofenster, dass jeder Markierung der Inhalt des ersten und zweiten Seiteninhalts hinzugefügt wird. Damit kann man z.B. eigene Tabs basteln, die Google Maps V3 nicht mehr unterstützt.

Eine ausführliche Beschreibung sowie weitere Beispiele wie die Funktion optionSplit funktioniert ist in der TSref-Dokumentation unter “Objects and properties” beschrieben.

[Objektnummer-Feld]

Configuration

Die Konfiguration der Extension ist etwas tricky und anders als gewohnt. Ich hoffe die Idee dahinter ist verständlich und vor allem nützlich.

Grundsätzlich gilt, dass Werte die in den Settings gesetzt wurden, die Werte der Datenbankfelder überschreiben sobald diese entweder “false”, “0” oder leer sind. So kann man z.B. – wie in der Standardkonfiguration – den ShadowAnchor, bereits für alle Maker die man setzt, aber auch für jeden einzelnen neu definieren.

settings

api

Property

api

Data type

->api

Description

siehe api

Default

plugin

Property

plugin

Data type

->plugin

Description

siehe plugin

Default

mapDrawer

Property

mapDrawer

Data type

->mapDrawer

Description

siehe mapDrawer

Default

map

Property

map

Data type

->map

Description

siehe map

Default

layer

Property

layer

Data type

->layer

Description

siehe layer

Default

[tsref:(cObject).plugin.tx_adgooglemaps.settings]

api

canvas

Property

canvas

Data type

string

Description

Der DIV-Container wo die Karte dargestellt wird. Erforderlich.

Default

tx_adgooglemaps_canvas_###UID###

mapTypeId

Property

mapTypeId

Data type

string

Description

Anfängliche Kartentyp-ID. Erforderlich. Mögliche Werte:

  • google.maps.MapTypeId.HYBRID
  • google.maps.MapTypeId.ROADMAP
  • google.maps.MapTypeId.SATELLITE
  • google.maps.MapTypeId.TERRAIN

Default

google.maps.MapTypeId.ROADMAP

center

Property

center

Data type

string

Description

Anfängliches Kartenzentrum. Erforderlich.

Default

48.209206,16.372778

zoom

Property

zoom

Data type

integer

Description

Anfängliche Zoomstufe der Karte. Erforderlich.

Default

11

minZoom

Property

minZoom

Data type

integer

Description

Max. Zoomstufe der Karte.

Default

1

maxZoom

Property

maxZoom

Data type

integer

Description

Min. Zoomstufe der Karte.

Default

17

[tsref:(cObject).plugin.tx_adgooglemaps.settings.api]

plugin

includeFrontEndResources

Property

includeFrontEndResources

Data type

array

Description

Verwendet includeCSS, cssInline, includeJSlibs, includeJSFooterlibs, includeJS, includeJSFooter, jsInline oder jsFooterInline um JavaScript- oder CSS-Dateien im FrontEnd einzufügen.

Default

geocodeUrl

Property

geocodeUrl

Data type

string

Description

URL zu Google Maps Geocode API.

debugMode

Property

debugMode

Data type

boolean

Description

Ist diese Option gesetzt wird der JavaScript Code von dem Plugin lesbar dargestellt.

Default

0

[tsref:(cObject).plugin.tx_adgooglemaps.settings.plugin]

mapDrawer

apiUrl

Property

apiUrl

Data type

string

Description

URL zur Google Maps API.

apiJavaScriptFile

Property

apiJavaScriptFile

Data type

string

Description

Dateipfad zur MapDrawer JavaScript-Datei.

Default

EXT:ad_google_maps/Resources/Public/JavaScript/MapDrawer/Tx_AdGoogl eMaps_MapDrawer.js

tables

Property

tables

Data type

array

Description

Einstellungen des MapDrawers für unterschiedliche Tabellen.

Siehe Beispiel in der TypoScriptSetup-Datei von ad_google_maps oder ad_google_maps_plugin_address

Default

[tsref:(cObject).plugin.tx_adgooglemaps.settings.mapDrawer]

map

uid

Property

uid

Data type

integer

Description

Map-UID. Wird benötigt um mehrere Google Maps auf einer Seite darzustellen.

Default

width

Property

width

Data type

integer

Description

Die Breite der Karte.

Default

height

Property

height

Data type

integer

Description

Die Höhe der Karte.

Default

400

mapTypeId

Property

mapTypeId

Data type

string

Description

Anfängliche mapTypeId der Karte.

Default

backgroundColor

Property

backgroundColor

Data type

HTML-color

Description

Default

noClear

Property

noClear

Data type

boolean

Description

Default

0

disableDefaultUi

Property

disableDefaultUi

Data type

boolean

Description

Default

0

minZoom

Property

minZoom

Data type

integer

Description

Default

maxZoom

Property

maxZoom

Data type

integer

Description

Default

centerType

Property

centerType

Data type

integer

Description

Es gibt zwei Zentrierungstypen:

  • 0: Standard. Es wird der Wert aus plugin.tx_adgooglemaps.settings.api.center verwendet und man kann die Zoomstufe manuell setzen.
  • 1: Passt die Karten an die Grenzen der Ebenen an.

Default

0

center

Property

center

Data type

string

Description

Koordinaten des Kartenzentrum.

Default

plugin.tx_adgooglemaps.api.center

zoom

Property

zoom

Data type

integer

Description

Default

useMarkerCluster

Property

useMarkerCluster

Data type

boolean

Default

mapTypeControl

Property

mapTypeControl

Data type

boolean

Description

Nachfolgende Optionen sind der der Google Maps API ähnlich: http://co de.google.com/apis/maps/documentation/javascript/reference.html

Default

0

mapTypeControlOptionsMapTypeIds

Property

mapTypeControlOptionsMapTypeIds

Data type

string

Description

Bei dieser Control-Options können die Werte wie folgt gesetzt werden:

mapTypeControlOptionsMapTypeIds = google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.ROADMAP

Default

mapTypeControlOptionsPosition

Property

mapTypeControlOptionsPosition

Data type

string

Description

Bei den weiteren Control-Options werden die Werte wie folgt gesetzt:

mapTypeControlOptionsPosition = google.maps.ControlPosition.TOP_RIGHT

Default

mapTypeControlOptionsStyle

Property

mapTypeControlOptionsStyle

Data type

string

Description

Default

scaleControl

Property

scaleControl

Data type

boolean

Description

Default

0

scaleControlOptionsPosition

Property

scaleControlOptionsPosition

Data type

string

Description

Default

scaleControlOptionsStyle

Property

scaleControlOptionsStyle

Data type

string

Description

Default

panControl

Property

panControl

Data type

boolean

Description

Default

0

panControlOptionsPosition

Property

panControlOptionsPosition

Data type

string

Description

Default

zoomControl

Property

zoomControl

Data type

boolean

Description

Default

0

zoomControlOptionsPosition

Property

zoomControlOptionsPosition

Data type

string

Description

Default

zoomControlOptionsStyle

Property

zoomControlOptionsStyle

Data type

string

Description

Default

streetViewControl

Property

streetViewControl

Data type

boolean

Description

Default

0

streetViewControlOptionsPosition

Property

streetViewControlOptionsPosition

Data type

string

Description

Default

searchControl

Property

searchControl

Data type

boolean

Description

Aktivier die einfache Kartensuche.

Default

0

searchMarker

Property

searchMarker

Data type

string

Description

Wenn die Benutzersuche verwendet wird, kann hier eine eigene Markierung definieren werden. Standardmäßig wird die Markierung des MapDrawer verwendet.

Default

searchMarkerWidth

Property

searchMarkerWidth

Data type

integer

Description

Default

searchMarkerHeight

Property

searchMarkerHeight

Data type

integer

Description

Default

searchMarkerOriginX

Property

searchMarkerOriginX

Data type

integer

Description

Default

searchMarkerOriginY

Property

searchMarkerOriginY

Data type

integer

Description

Default

searchMarkerAnchorX

Property

searchMarkerAnchorX

Data type

integer

Description

Default

searchMarkerAnchorY

Property

searchMarkerAnchorY

Data type

integer

Description

Default

searchMarkerScaledWidth

Property

searchMarkerScaledWidth

Data type

integer

Description

Default

searchMarkerScaledHeight

Property

searchMarkerScaledHeight

Data type

integer

Description

Default

disableDoubleClickZoom

Property

disableDoubleClickZoom

Data type

boolean

Description

Default

0

scrollwheel

Property

scrollwheel

Data type

boolean

Description

Default

1

draggable

Property

draggable

Data type

boolean

Description

Default

1

keyboardShortcuts

Property

keyboardShortcuts

Data type

boolean

Description

Default

draggableCursor

Property

draggableCursor

Data type

path

Description

Default

draggingCursor

Property

draggingCursor

Data type

path

Description

Default

infoWindowCloseAllOnMapClick

Property

infoWindowCloseAllOnMapClick

Data type

boolean

Description

Wenn dieser Wert gesetzt ist, werden alle geöffneten Infofenster geschlossen, sobald man auf die Karte klickt.

Default

infoWindowBehaviour

Property

infoWindowBehaviour

Data type

integer

Description

Es gibt drei Verhaltenstypen für der Infofenster. Nachfolgende Optionen gelten:

  • 1: Für alle Ebenen, wenn aber in einer Ebene ein Wert gesetzt wurde, hat dieser keine auswirkung.
  • 2: Die Werte werden nur von der Ebene definiert.
  • 3: Für alle Ebenen, wenn aber in einer Ebene ein Wert gesetzt wurde, wird dieser verwendet. (Bit-Wert: 1 | 2)

Default

3

infoWindowKeepOpen

Property

infoWindowKeepOpen

Data type

boolean

Description

Wenn dieser Wert gesetzt ist, werden die Infofenster nur noch durch das klicken des Schließen-Icon geschlossen.

Default

0

infoWindowCloseOnClick

Property

infoWindowCloseOnClick

Data type

boolean

Description

Wenn dieser Wert gesetzt ist, wird das Infofenster geschlossen, sobald man erneut auf das Objekt klickt.

Default

0

infoWindowObjectNumber

Property

infoWindowObjectNumber

Data type

string

+optionSplit

Description

OptionSplit-Wert. Damit kann man die Verteilung der einzelnen Seiteninhalte den Infofenstern zuteilen.

Beispiel: Hat man z.B. drei Markierungen erzeugt und möchte man auf jeder Markierung zwei Seiteninhalte darstellen, erstellt man zunächst zwei Seiteninhalte unter “Infofenster”. Nun werden auf der ersten Markierung der erste, auf dem zweiten der zweite und auf dem dritten ebenfalls der zweite Seiteninhalt angezeigt. Jetzt setzen wir die Option auf “1,2 |*| 1,2 |*| 1,2” und auf jeder Markierung erscheint im Infofenster der erste UND der zweite Seiteninhalt. (cool, oder ? ;) )

Default

infoWindowDisableAutoPan

Property

infoWindowDisableAutoPan

Data type

boolean

Description

Deaktiviert das verschieben der Karte zum geöffneten Infofenster.

Default

0

infoWindowMaxWidth

Property

infoWindowMaxWidth

Data type

integer

Description

Die maximale Breite des Infofensters.

Default

infoWindowPixelOffsetWidth

Property

infoWindowPixelOffsetWidth

Data type

integer

Description

Der X-Offset in Pixel. (Es wurde “Width” und “Height” verwendet, da das Objekt bei Google Maps vom Typ “Size” ist und dieses mit “Width” und “Height” erstellt wird.)

Default

infoWindowPixelOffsetHeight

Property

infoWindowPixelOffsetHeight

Data type

integer

Description

Der Y-Offset in Pixel.

Default

[tsref:(cObject).plugin.tx_adgooglemaps.settings.map]

layer

type

Property

type

Data type

string

Description

Klassenname des Plugin Adapters:

Tx_AdGoogleMaps_MapBuilder_Layer_Marker

Default

Tx_AdGoogleMaps_MapBuilder_Layer_Marker

title

Property

title

Data type

string

Description

Der Arbeitstitel der Ebene. Dieses Feld wird im Frontend nicht verwendet.

Default

coordinatesProvider

Property

coordinatesProvider

Data type

integer

Description

Der Provider für die Koordinaten:

Tx_AdGoogleMaps_MapBuilder_CoordinatesProvider_MapDrawer: MapDrawer

Default

Tx_AdGoogleMaps_MapBuilder_CoordinatesProvider_MapDrawer

coordinates

Property

coordinates

Data type

string

Description

Koordinatenfeld

Default

markerTitle

Property

markerTitle

Data type

string

Description

Feld für die Titel (gelbes Infofeld) der Markierung. Jede Zeile entspricht einer Markierung.

Default

markerTitleObjectNumber

Property

markerTitleObjectNumber

Data type

string

+optionSplit

Description

Siehe: plugin.tx_adgooglemaps.settings.map.infoWindowObjectNumber

Default

visible

Property

visible

Data type

boolean

Description

Nachfolgende Optionen sind der der Google Maps API ähnlich: http://co de.google.com/apis/maps/documentation/javascript/reference.html

Default

1

zindex

Property

zindex

Data type

integer

Description

Default

clickable

Property

clickable

Data type

boolean

Description

Default

draggable

Property

draggable

Data type

boolean

Description

Default

raiseOnDrag

Property

raiseOnDrag

Data type

boolean

Description

Default

shapeType

Property

shapeType

Data type

string

Description

Default

shape

Property

shape

Data type

string

Description

Wird als JavaScript-String eingetragen:

[x1,y1,x2,y2...xn,yn]

Default

mouseCursor

Property

mouseCursor

Data type

path

Description

Default

icon

Property

icon

Data type

path

Description

Default

iconWidth

Property

iconWidth

Data type

integer

Description

Default

iconHeight

Property

iconHeight

Data type

integer

Description

Default

iconOriginX

Property

iconOriginX

Data type

integer

Description

Default

iconOriginY

Property

iconOriginY

Data type

integer

Description

Default

iconAnchorX

Property

iconAnchorX

Data type

integer

Description

Default

iconAnchorY

Property

iconAnchorY

Data type

integer

Description

Default

iconScaledWidth

Property

iconScaledWidth

Data type

integer

Description

Default

iconScaledHeight

Property

iconScaledHeight

Data type

integer

Description

Default

iconObjectNumber

Property

iconObjectNumber

Data type

string

Description

Siehe: plugin.tx_adgooglemaps.settings.map.infoWindowObjectNumber

Default

shadow

Property

shadow

Data type

path

Description

Default

shadowWidth

Property

shadowWidth

Data type

integer

Description

Default

shadowHeight

Property

shadowHeight

Data type

integer

Description

Default

shadowOriginX

Property

shadowOriginX

Data type

integer

Description

Default

shadowOriginY

Property

shadowOriginY

Data type

integer

Description

Default

shadowAnchorX

Property

shadowAnchorX

Data type

integer

Description

Default

shadowAnchorY

Property

shadowAnchorY

Data type

integer

Description

Default

shadowScaledWidth

Property

shadowScaledWidth

Data type

integer

Description

Default

shadowScaledHeight

Property

shadowScaledHeight

Data type

integer

Description

Default

shadowObjectNumber

Property

shadowObjectNumber

Data type

string

Description

Siehe: plugin.tx_adgooglemaps.settings.map.infoWindowObjectNumber

Default

flat

Property

flat

Data type

boolean

Description

Default

0

infoWindowKeepOpen

Property

infoWindowKeepOpen

Data type

boolean

Description

Siehe: plugin.tx_adgooglemaps.settings.map

Default

0

infoWindowCloseOnClick

Property

infoWindowCloseOnClick

Data type

boolean

Description

Siehe: plugin.tx_adgooglemaps.settings.map

Default

0

infoWindowObjectNumber

Property

infoWindowObjectNumber

Data type

string

+optionSplit

Description

Siehe: plugin.tx_adgooglemaps.settings.map

Default

infoWindowDisableAutoPan

Property

infoWindowDisableAutoPan

Data type

boolean

Description

Siehe: plugin.tx_adgooglemaps.settings.map

Default

0

infoWindowMaxWidth

Property

infoWindowMaxWidth

Data type

integer

Description

Siehe: plugin.tx_adgooglemaps.settings.map

Default

infoWindowPixelOffsetWidth

Property

infoWindowPixelOffsetWidth

Data type

integer

Description

Siehe: plugin.tx_adgooglemaps.settings.map

Default

infoWindowPixelOffsetHeight

Property

infoWindowPixelOffsetHeight

Data type

integer

Description

Siehe: plugin.tx_adgooglemaps.settings.map

Default

listTitle

Property

listTitle

Data type

string

Description

Kommaseperierte Liste der Titel in der Listenansicht.

Default

listTitleObjectNumber

Property

listTitleObjectNumber

Data type

string

+optionSplit

Description

OptionSplit-Wert

Default

listTitleFromMarker

Property

listTitleFromMarker

Data type

boolean

Description

Ist diese Option gesetzt werden die Einstellungen der Markierungen in der Listenansicht verwendet.

Default

1

listIcon

Property

listIcon

Data type

string

Description

Kommaseperierte Liste der Icons in der Listenansicht.

Default

listIconObjectNumber

Property

listIconObjectNumber

Data type

string

+optionSplit

Description

OptionSplit-Wert

Default

listIconWidth

Property

listIconWidth

Data type

integer

Description

Die Weite des Icons in der Listenansicht.

Default

listIconHeight

Property

listIconHeight

Data type

integer

Description

Die Höhe des Icons in der Listenansicht.

Default

listIconFromMarker

Property

listIconFromMarker

Data type

boolean

Description

Ist diese Option gesetzt werden die Einstellungen der Markierungen in der Listenansicht verwendet.

Default

1

mapControllFunctions

Property

mapControllFunctions

Data type

array

Description

Diese Eigenschaft bietet die Möglichkeit die Karte aus der Listenansicht zu steuern. Sie enthält JavaScript-Funktionen, die im Template im Item-Link als “onclick” definiert werden können.

Derzeit gibt es drei Standardfunktionen die im Template mit "item.mapControllFunctions.{funktionname}" aufgerufen werden können: openInfoWindow, panTo und fitBounds.

Es können aber auch eigene Funktionen definiert werden und wie in der Standardkonfiguration eingesetzt werden.

Dabei wird die Ersetzungsmarke ###ITEM_KEY### durch den Schlüssel des Items ersetzt, mit den man das JavaScript-Objekt in der JavaScript- Klasse direkt ansprechen kann.

Default

[tsref:(cObject).plugin.tx_adgooglemaps.settings.layer]

Standardkonfiguration
###
# This is the default TS-setup
##

plugin.tx_adgooglemaps {
  settings {

    api {

      # The DIV container where the map is shown. Required.
      canvas = {$plugin.tx_adgooglemaps.settings.api.canvas}

      # The default mapTypeId. Required.
      mapTypeId = {$plugin.tx_adgooglemaps.settings.api.mapTypeId}

      # The default latitude and longitude where the map should start. Required.
      center = {$plugin.tx_adgooglemaps.settings.api.center}

      # The default zoom. Required.
      zoom = {$plugin.tx_adgooglemaps.settings.api.zoom}

      # Min. zoom: The min. zoom.
      minZoom = {$plugin.tx_adgooglemaps.settings.api.minZoom}

      # Max. zoom: The max. zoom.
      maxZoom = {$plugin.tx_adgooglemaps.settings.api.maxZoom}
    }

    plugin {

      # Use includeCSS, cssInline, includeJSlibs, includeJSFooterlibs, includeJS,
      # includeJSFooter, jsInline or jsFooterInline.
      # This extends the page configuration. Use unique keys!
      includeFrontEndResources {

        # Use classname where they loaded as unique configuration key.
        Tx_AdGoogleMaps_Plugin_GoogleMaps {
          includeJSlibs {
            Tx_AdGoogleMaps_ApiUrl = {$plugin.tx_adgooglemaps.settings.plugin.apiUrl}
            Tx_AdGoogleMaps_ApiUrl.external = 1
          }

          includeJS {
            Tx_AdGoogleMaps_PluginFile = {$plugin.tx_adgooglemaps.settings.plugin.pluginFile}
          }
        }
        Tx_AdGoogleMaps_Plugin_Options {
          includeJS {
            Tx_AdGoogleMaps_MarkerClusterUrl = {$plugin.tx_adgooglemaps.settings.plugin.markerClusterUrl}
            Tx_AdGoogleMaps_MarkerClusterUrl.external = 1
          }
        }

        # Use classname where they loaded as unique configuration key.
        Tx_AdGoogleMaps_Controller_GoogleMapsController {
          includeJS {
            Tx_AdGoogleMaps_SimpleSearch = EXT:ad_google_maps/Resources/Public/JavaScript/Plugin/Tx_AdGoogleMaps_SimpleSearch.js
          }
        }

        # Use classname where they loaded as unique configuration key.
        Tx_AdGoogleMaps_MapBuilder_Layer_InfoWindow {
          includeJS {
            Tx_AdGoogleMaps_InfoWindow = EXT:ad_google_maps/Resources/Public/JavaScript/Plugin/Tx_AdGoogleMaps_InfoWindow.js
          }
        }
        Tx_AdGoogleMaps_MapBuilder_Layer_Marker {
          includeJS {
            Tx_AdGoogleMaps_Marker = EXT:ad_google_maps/Resources/Public/JavaScript/Plugin/Tx_AdGoogleMaps_Marker.js
          }
        }
      }

      # Google Maps API URL grocode: URL for getting geocode per JSON. Required.
      geocodeUrl = {$plugin.tx_adgooglemaps.settings.plugin.geocodeUrl}

      # Debug mode: If set the Google Maps options will printed in a readable format.
      debugMode = 0
    }

    mapDrawer {

      # Google Maps API URL: The URL to the Google Maps API.
      apiUrl = {$plugin.tx_adgooglemaps.settings.plugin.apiUrl}

      # Path to the Google Maps MapDrawer. Required.
      apiJavaScriptFile = EXT:ad_google_maps/Resources/Public/JavaScript/MapDrawer/Tx_AdGoogleMaps_MapDrawer.js

      tables {
        tx_adgooglemaps_domain_model_layer {

          # Field name of the record type.
          typeField = type

          recordTypes {
            Tx_AdGoogleMaps_MapBuilder_Layer_Marker {

              # Class name of the type processor.
              className = Tx_AdGoogleMaps_MapDrawer_Layer_Marker

              # Array for additional JavaScript files.
              javaScriptFiles.1 = EXT:ad_google_maps/Resources/Public/JavaScript/MapDrawer/Tx_AdGoogleMaps_MapDrawer_Layer_Marker.js

              templateFile = EXT:ad_google_maps/Resources/Private/Templates/MapDrawer/index.html

              # The default map width (style value). Default 90%.
              canvasWidth = 90%

              # The default map height (style value). Default 400px.
              canvasHeight = 400px

              # The default mapTypeId. Default google.maps.MapTypeId.ROADMAP.
              mapTypeId = {$plugin.tx_adgooglemaps.settings.api.mapTypeId}

              # The default latitude and longitude where the map should start.
              # Default 48.209206,16.372778.
              center = {$plugin.tx_adgooglemaps.settings.api.center}

              # The default zoom. Default 11.
              zoom = {$plugin.tx_adgooglemaps.settings.api.zoom}

              # The min. zoom.
              minZoom = {$plugin.tx_adgooglemaps.settings.api.minZoom}

              # The max. zoom.
              maxZoom = {$plugin.tx_adgooglemaps.settings.api.maxZoom}

              # Fit bounds on load.
              fitBoundsOnLoad = 1

              # Columns mapping. Also usefull to see the color e.g. of shapes in the MapDrawer.
              columnsMapping {
                coordinates = coordinates
              }
            }
          }
        }
      }
    }

    # Configuration for map record. Values will be override the record values if set.
    map {

      # The initial height. Required.
      height = {$plugin.tx_adgooglemaps.settings.map.height}

      searchMarkerWidth = 9
      searchMarkerHeight = 9
      searchMarkerAnchorX = 4
      searchMarkerAnchorY = 5
    }

    category {
      mapControlFunctions {
        userFunction = alert('Category Item Keys: ' + ###ITEM_KEYS###)
      }
    }

    # Configuration for layer record. Values will be override the record values if set.
    layer {

      shadowAnchorX = 15
      shadowAnchorY = 30

      # To set a user defined function, set a key and the value. The function can be insert
      # with the key in the template as "item.mapControlFunctions.userFunction".
      # You can also override existing functions like "openInfoWindow", "panTo" or "fitBounds".
      mapControlFunctions {
        userFunction = alert('Layer Item Key: ###ITEM_KEY###')
      }

      # Content rendering for the info window.
      infoWindowRenderConfiguration < tt_content
    }
  }

  persistence {

    storagePid = {$plugin.tx_adgooglemaps.persistence.storagePid}

    classes {
      Tx_AdGoogleMaps_Domain_Model_Layer {
        mapping {
          tableName = tx_adgooglemaps_domain_model_layer
        }
        subclasses {
          Tx_AdGoogleMaps_MapBuilder_Layer_Marker = Tx_AdGoogleMaps_Domain_Model_Layer_Marker
        }
      }

      Tx_AdGoogleMaps_Domain_Model_Layer_Marker {
        mapping {
          recordType = Tx_AdGoogleMaps_MapBuilder_Layer_Marker
          tableName = tx_adgooglemaps_domain_model_layer
        }
      }
    }
  }

  view {
    templateRootPath = {$plugin.tx_adgooglemaps.view.templateRootPath}
    partialRootPath = {$plugin.tx_adgooglemaps.view.partialRootPath}
    layoutRootPath = {$plugin.tx_adgooglemaps.view.layoutRootPath}
  }

  _LOCAL_LANG {
    default {
      searchLegend = Search
      searchLabel = Search for Address
      searchButton = Search
      panTo = pan to
      fitBounds = fit bounds
      userFunction = user function
    }
  }
}

###
# Replace stdheaders insertData with dataWrap. insertData replace Fluid variables
# of the info windows for tt_address.
##
lib.stdheader.10 {
  1 = TEXT
  1.current = 1
  1.insertData >
  1.fontTag >
  1.dataWrap = <h1{register:headerStyle}{register:headerClass}>|</h1>
  2 < .1
  2.dataWrap = <h2{register:headerStyle}{register:headerClass}>|</h2>
  3 < .1
  3.dataWrap = <h3{register:headerStyle}{register:headerClass}>|</h3>
  4 < .1
  4.dataWrap = <h4{register:headerStyle}{register:headerClass}>|</h4>
  5 < .1
  5.dataWrap = <h5{register:headerStyle}{register:headerClass}>|</h5>
}