Loading...
Navigation überspringen

Google-Maps

Für den Fall das Sie die OpenImmo-Erweiterung als PRO Version nutzen, müssen Sie ggf. einen Google-Maps API-Key beantragen und hinterlegen. Dazu wechslen Sie auf die folgende Website und melden sich mit Ihrem Google-Konto an: https://console.cloud.google.com/apis/credentials

Wenn dies geschehen ist klicken Sie auf Create credentials -> Api Key.

Google-Maps API-Schüssel anfordern

Sofern Sie hier noch kein API-Projekt bei Google angelegt haben, fordert Google Sie nun auf eines anzulegen. Wenn der Key erfolgreich erstellt wurde, wird ihnen dieser angezeigt.

Google-Maps API-Key erfolgreich erstellt

Dann klicken sie auf Restrict key. In der folgenden Ansicht wählen sie unter Application restrictions den Punkt HTTP referrers (websites) und tragen bei Website restrictions ein neues Item für Ihre Domain ein. Für die www.typo3-openimmo.de müsste hier im Feld Restrict key usage requests to the specified websites: *.typo3-openimmo.de/* stehen.

Google-Maps API-Key restrict

Darunter (API restrictions) verknüpfen sie Bibliotheken mit dem gerade erstellen API-Schlüssel. Dies wären die Google Maps JavaScript API, die Geocoding API und die Google Places API Web Service, welche wir für die Points of interest benötigen. Gegebenenfalls müssen sie diese erst im Menüpunkt "Library" für ihr Projekt aktivieren. Zum Schluss klicken sie auf Save.

Google-Maps API Bibliotheken auswählen

Den gerade generierten API-Schlüssel müssen jetzt noch in Ihrem TYPO3 bekannt machen, damit die OpenImmo-Erweiterung diesen nutzen kann. Dafür weisen Sie den API-Key einfach der folgenden TypoScript-Konstante zu:

themes.configuration.javascript.google.maps.apiKey = abc-xyz-...

Jetzt müssen Sie nur noch dafür sorgen, das die erforderlichen JavaScript-Bibliotheken in TYPO3 eingebunden werden. Für diese Aufgabe ist die nächste TypoScript-Konstante vorhanden:

themes.configuration.javascript.google.maps.rootlinePages = 123,666,...

In dieser geben Sie einfach komma-separiert alle Seiten-Uids an, auf denen Sie eine Google-Maps Karte nutzen. Da es sich bei der in der Konstante angegebenen Seiten-Uids um sogenannte rootline pages handelt, können Sie auch ganze Seitenzweige angeben. Würden Sie beispielsweise hier die Wurzelseite Ihrer Website angeben, so würden die Google-Maps Bibliotheken auf allen Seiten eingebunden werden.

Standard Geo-Koordinaten

Manchmal kommt es vor, das eine Google-Karte angezeigt wird, es aber aktuell keinen Fokus-Punkt gibt. Für diesen Fall können Sie standard Geo-Koordinaten angeben, die immer dann verwendet werden wenn es keinen Ort zum Anzeigen gibt.

plugin.tx_openimmo {
    settings {
        googleMaps {
            defaultGeoCoordinates {
                # Default latitude for google maps
                latitude = 51.4925921
                # Default latitude for google maps
                longitude = 7.4496687
            }
        }
    }
}

Ermittlung der Geo-Koordinaten

Manchmal kann es vorkommen, das die verwendete Kunden-Software keine Geo-Koordinaten überträgt. Um auch in diesem Fall die Google-Karten nutzen zu können, ermöglicht es die OpenImmo-Erweiterung die Geo-Koordinaten anhand der Adresse zu ermitteln. Dafür wurde der Connection-Datensatz für entsprechende Felder erweitert.

Dabei ist zu beachten, das die Geo-Koordinaten anhand der aktivierten Checkboxen ermittelt werden. Das heißt es wird je nach Einstellung nicht der genaue Punkt der Immobilie genommen, so dass mögliche Interessenten nicht direkt dort hinfahren können. Des Weiteren muss ein zusätzlicher API-Key bereitgestellt werden, welcher eine Beschränkung nach IP-Adresse besitzt (nicht nach HTTP-Referrer) - es muss die Places und Geocoding API erlaubt werden. Um einen Report zu erhalten, falls mal eine Adresse nicht richtig ermittelt werden kann, kann eine E-Mailadresse hinterlegt werden an die bei jeder Ermittlung eine Mail geschickt wird.

Ermittlung des regionalen Zusatz

Manchmal kann es vorkommen, bspw. beim Anbieter EverReal, das in den Import-Daten zwar Geo-Koordinaten mitgeliefert werden, aber der regionale Standort fehlt. In diesem Fall kann leider auch der Immobilien-Filter für die Stadtteile nicht genutzt werden. Um dieses Problem zu lösen wurde eine kleine Funktion integriert, welche während des Imports prüft ob dieses Feld leer ist und dann anhand der Geo-Koordinaten den regionalen Zusatz ermittelt.

Da diese Funktion serverseitig die Google-Maps API verwendet, müssen Sie einen Google-Maps API-Key angegeben, welcher via IP geschützt ist. Die Funktion ansich kann ebenfalls im Connection-Datensatz aktiviert werden.

Clustering der Übersichtskarte

Wenn Sie über sehr viele nah bei einanderliegende Immobilien verfügen, macht es Sinn das Marker-Clustering zu aktivieren. Mit dem Marker-Clustering werden nah aneinanderliegende Marker gruppiert und mit einer Zahl versehen. Wird dieser Gruppierungs-Marker angeklickt, so wird an dieser Stelle in die Karte gezoomt, so dass die Gruppierung aufgelöst werden kann.

Die Konfiguration des Clustering erfolgt mit Hilfe von TypoScript:

plugin.tx_openimmo {
    settings {
        googleMaps {
            clustering {
                # Activate/deactivate clustering
                active = 0
                # Path for clustering images
                imagePath = typo3conf/ext/openimmo_pro/Resources/Public/Images/MapClustering/m
            }
        }
    }
}

Weitere Konfigurationen finden Sie im Setup-TypoScript.

Points of interest

Für die Verwendung der Points of interest benötigt Ihr Google-Maps API-Key Zugriff auf die Places-API.

Bitte Berücksichtigen Sie, das die Places-API von Google eine Begrenzung von 60 Orten pro Anfrage hat. D.h. wenn in Ihrem angegebenen Radius nicht alle Orte gefunden werden, kann es sein das dieses Limit erreicht wurde. Sie müssten dann den Radius verkleinern.

Den Radius für die Points of interest können Sie mit Hilfe von TypoScript anpassen:

plugin.tx_openimmo {
    settings {
        googleMaps {
            pointsOfInterest {
                # Radius in meter
                radius = 500
            }
        }
    }
}

Die angebotenen Orts-Typen können Sie ebenfalls via TypoScript konfigurieren. Welche Typen es gibt können Sie hier nachlesen: https://developers.google.com/places/supported_types?hl=de

Die Definition sieht wie folgt aus:

plugin.tx_openimmo {
    settings {
        googleMaps {
            pointsOfInterest {
                available {
                    # Key for google place identifier
                    grocery_or_supermarket {
                        # Label für den Button
                        label = Supermärkte
                        # Inhalt des Markers
                        innerHtml = <i class="fa fa-shopping-cart"></i>
                    }
                    restaurant {
                        label = Restaurants
                        innerHtml = <i class="fa fa-cutlery"></i>
                    }
                    # ..weitere Einträge
                }
            }
        }
    }
}

Datenschutz

Wenn Sie es mit dem Datenschutz sehr genau nehmen und die Google-Karte erst anzeigen möchten, wenn der Besucher etwas bestätigt hat, ist dies auch möglich. Wenn die Nutzung der Google-Karten noch nicht bestätigt wurde, binden Sie die Google-Bibliotheken einfach gar nicht ein (dies könnte mit einer TypoScript-Condition passieren, welche ein Cookie abprüft). Erst wenn die Nutzung bestätigt wurden und die Google-Bibliotheken gefunden wurden, werden die Karten von der Openimmo-Erweiterung initialisiert.

Kontaktanfrage

Sie können uns jederzeit kontaktieren

Contact request
Screenreader label
Security question
UO6_________C25______
3______B____M_L___3IO
ZSK___K3U___ZLQ______
__5____N______G___D5Q
GRQ_________ZZQ______