driver/googlemaps

Der driver/googlemaps erlaubt die einfache Einbindung von Google-Maps in eine easydb. Es werden Funktionen zur Verfügung gestellt, die eine Darstellung von Suchergebnissen als Ballons in der Google Map erlauben. Werden am selben Ort mehrere Ergebnisse eingeblendet, so erscheint in der Map nur ein Ballon. Mit Klick auf den Ballon werden alle gefunden Ergebnisse für diesen Ort angezeigt.

Seit Version 4.0.287.5 unterstützt easydb die Google-Maps-API v3.

Für die Verwendung dieses Drivers ist ein Google-API-Key nötig, der als Config-Variable eintragen wird. easydb liefert einen Standard-Key mit aus, den Sie verwenden können, der aber ein Request-Limit hat.

Zu Beginn einer driver/result-Maske wird die Map mit cell/FUNCTION-googlemaps/map_output initialisiert. Das HTML für die Ballons wird mittels grid/FUNCTION-googlemaps/collect_content_for_map eingesammelt. Innerhalb dieses GRIDs müssen Sie cell/FUNCTION-googlemaps/map_point verwenden, um den Ort des Ballons festzulegen.

Mask-Properties

driver/googlemaps wird nur als Other Driver im driver/result-Header geladen.

Es ist wichtig, googlemaps in den Mask-Properties unter Other Driver anzugeben.

grid/FUNCTION

collect_content_for_map

Wird benutzt, um das HTML für die Informations-Blasen am Ballon einzusammeln. Das HTML wird in eine DIV gewrappt.

_class class-Attribut für die Wrapping-DIV.
_style style-Attribut für die Wrapping-DIV.
debug Wenn gesetzt wird das Ballon-HTML und der Map Point zum Debugging ausgegeben.

path_group_for_last_point

Seit Version 4.0.199

Dient zum Zeichnen von Pfaden auf der Karte. Es werden Punkte miteinander verbunden, die zu derselben path_group gehören. Diese FUNCTION nimmt den gerenderten Inhalt als path_group und ordnet den letzten ausgegeben Punkt dieser zu.

color Die Farbe für den Pfad.
width Die Breite in Pixeln für den Pfad.

set_max_zoom_level

Seit Version 4.0.199

Normalerweise wird der Zoom-Level der Karte automatisch eingestellt, um alle gerenderten Punkte zu zeigen. Der maximale Zoom-Level der dafür verwendet wird ist 13. Um einen anderen Zoom-Level als Maximum zu definieren, kann diese FUNCTION verwendet werden. Der Inhalt setzt den maximalen Zoom-Level.

Der Zoom-Level kann zwischen 0 (wird nicht gesetzt) und 30 liegen. Wenn die Punkte einen kleinern Zoom-Level erfordern, wird in jedem Fall dieser kleinere Zoom-Level verwendet, um alle Punkte anzuzeigen.

grid/LINK

Keine.

cell/FUNCTION

map_output

Wird benutzt, um die Map zu initialisieren.

DOM-ID Of Map Name der Map. Dieser String wird als DOM id für die Map-DIV benutzt.
Start With Map Type
  • normal Verwendet die Straßenkarte
  • satellite verwendet die Satelliten-Karten
  • hybrid verwendet Straßen- und Satellit-Karten.
  • physical verwendet die Terrain-Karten.
Type Control Wenn gesetzt, zeigt den Map-Type-Controller an.
Type Control Style
  • Default Standard-Map-Controller
  • Dropdown Menu Aufklappliste
  • Horizontal Bar Horizontale Buttons
Overview Control Wenn gesetzt zeigt die Overview-Map an.
Zoom&Pan&Street-View Wenn gesetzt zeigt den Zoom-Controller, Pan-Controller and Street-View-Controller an.
Adapt Height To Viewport Wenn gesetzt, wird die Höhe der DIV automatisch gleich der im DOM-Tree übergeordnete grid/DIV mit der Option auto_stretch gesetzt (falls vorhanden), sonst wird die DIV direkt automatisch an die verfügbare Höhe angepasst.
Style style-Attribut für die Map-DIV.
Class class-Attribut für die Map-DIV.

map_point

Wird innerhalb von grid/FUNCTION-googlemaps/collect_content_for_map benutzt, um die Koordinaten des Ballons zu speichern. Wenn mehrfach die selbe Koordinate benutzt wird, setzt easydb die Ballons im Uhrzeigersinn mit ein wenig Abstand um den ersten Ballon herum.

Die Latitude/Longitude Werte werden direkt an die Javascript-Funktion der Google-API per GLatLng(point.latitude, point.longitude) übergeben, sollten also in einem dafür geeigneten Format vorliegen.

latitude Spalte der aktuellen Tabelle, die die Latitude-Information enthält.
longitude Spalte der aktuellen Tabelle, die die Longitude-Information enthält.
icon Farbe und Art des Ballons.
bubble_to_root Wenn gesetzt und die aktuelle Tabelle ist ein hierarchische Tabelle (dbmodel tree support), und latitude/longitude sind im aktuellen Objekt nicht gesetzt werden die Werte vom Vater bzw. Großvater verwendet.

Wenn latitude und longitude die gleichen Spalte sind, wirds aus der Spalte die PostgreSQL-Notation POINT (longitude, latitude) ausgelesen (Seit Version 4.0.199).

Beachten Sie dass innerhalb jedes Renderns von grid/FUNCTION-googlemaps/collect_content_for_map diese cell/FUNCTION-googlemaps/map_point nur einmal aufgerufen werden sollte, da der letzte Map Point alle vorherigen überschreibt.

zoom_to_point

Seit Version 4.0.229.2.

Gibt einen Button aus um die Karte anhand vordefinierter Koordinaten zu zentrieren.

buttonlabel Setzt die Beschriftung des Buttons.
buttontitle Wenn gesetzt, erhält der Button ein title-Tag.
latitude Angabe der Latitude. Erlaubte Schreibweisen sind:
  • 41.896571
  • 58 deg 29’ 1.20"
longitude Angabe der Longitude. Erlaubte Schreibweisen sind:
  • 12.482249
  • 65 deg 35’ 44.40"
zoom Setzt den Zoom-Level auf einen gewünschten Wert. Wenn nicht gesetzt, beträgt der Zoom-Level 13. Erlaubt sind Werte zwischen 0 und 30.
BUTTONclass Setzt eine CSS-Class am Button.
BUTTONstyle Setzt das style-Attribut am Button.