Mit dem 3D Area Explorer können Sie Orte in beeindruckendem 3D erkunden. Die Lösung nutzt die fotorealistischen 3D-Kacheln von Google, die Place Search API, die Place Details API und die Autocomplete API.
Erste Schritte:
Aktivieren
Nutzung anpassen
Die 3D Area Explorer-Lösung ist hochgradig anpassbar, sodass Sie die Darstellung auf die Customer Journey Ihrer Kunden zuschneiden können. Sie können die Anpassung entweder über das Steuerfeld auf der Benutzeroberfläche oder über die Datei config.json vornehmen.
Bereit zum Anpassen? So gehts:
Standort
Legen Sie den Startpunkt der Tour fest, indem Sie den Breiten- und Längengrad in der Datei config.json anpassen.
Kamerasteuerung
Wählen Sie den Kameratyp aus, um die Kamerafahrt zu steuern: einen klassischen kreisförmigen Pfad oder eine interessante Sinuswelle.
Feste Umlaufbahn:
Dies ist eine kreisförmige Umlaufbahn in einer festen Höhe und um einen bestimmten POI.
Hier können Sie sich einen festen Orbit im Google-Büro in Sydney ansehen.
Dynamischer Orbit:
Die Kamera bewegt sich gleichmäßig in einer Sinuswellenbahn um einen bestimmten Point of Interest. Durch diese einzigartige Bewegung können Zuschauer den Point of Interest aus verschiedenen Höhen und Winkeln betrachten, was ein dynamisches und immersives visuelles Erlebnis bietet.
Hier können Sie sich einen dynamischen Orbit in Aktion ansehen.
Interessante Orte (POIs):
- Sie können die Erkundung anpassen, indem Sie die Arten von Orten festlegen, die Sie entdecken möchten. Mit dem Array
typesinconfig.jsonkönnen Sie Museen, Parks, Schulen und mehr auswählen. - Legen Sie die maximale Anzahl der angezeigten POIs fest, indem Sie den Parameter
densityanpassen. - Ändern Sie die
searchRadius (in meters), um versteckte Schätze in der Nähe einzubeziehen oder sich auf bestimmte Bereiche zu konzentrieren. - Lege die gewünschte Geschwindigkeit für die Bewegung deiner Kamera mit dem Parameter
speed (in revolutions per minute)fest.
Vorab laden: Dive Deeper with URL Customization
Mit dem 3D Area Explorer können Sie Ihre Erkundungstour vorab per URL-Anpassung definieren. Eine manuelle Konfiguration ist nicht mehr erforderlich, was die Nutzerfreundlichkeit verbessert.
Die perfekte URL erstellen:
Hängen Sie einfach bestimmte Parameter an die Area Explorer-URL an, um den Standort und andere Einstellungen voreinzustellen. Beispiel:
https://{base-url}/#location.coordinates.lat=40.7424396&location.coordinates.lng=-74.0061439
Diese URL legt den Startpunkt auf den angegebenen Breiten- und Längengrad fest und führt Sie sofort zum ausgewählten Ort. Verfügbare Parameter:
location.coordinates.lat: Breitengrad des ausgewählten Standorts.location.coordinates.lng: Längengrad des ausgewählten Standorts.poi.types: Eine durch Kommas getrennte Liste der anzuzeigenden POI-Typen.poi.density: Die ausgewählte maximale Anzahl von POIs.poi.searchRadius: Der Radius für die Suche nach POIs in der Nähe.camera.speed: Geschwindigkeit, mit der die Kamera um das Objekt kreist.camera.orbitType: Kameratyp („fixed-orbit“ oder „dynamic-orbit“).
Vorteile der URL-Anpassung:
- Sie können die Nutzerfreundlichkeit verbessern, indem Sie die gewünschten Einstellungen vordefinieren.
- Teilen Sie zielgerichtete Routen mit bestimmten vorab geladenen Orten und POIs.
- Vorkonfigurierte Area Explorer-Inhalte nahtlos in Websites einbetten.
Durch die Anpassung von URLs können Sie maßgeschneiderte Erlebnisse schaffen und andere zu ausgewählten Abenteuern einladen.
Weitere Anpassungen
Im vorherigen Abschnitt wurden Anpassungen beschrieben, die über die Benutzeroberfläche oder die Konfigurationsdatei vorgenommen werden können. Es gibt jedoch auch mehrere andere integrierte Parameter, die Sie ändern können, um die Anwendung weiter anzupassen.
Für diese erweiterten Anpassungen müssen Sie sich den Code in der Datei src/utils/cesium.js im Verzeichnis „src“ ansehen. Die folgenden Variablen können geändert werden, um das Erscheinungsbild der Anwendung anzupassen:
Höhe der Kamera
Mit dem Wert CAMERA_HEIGHT können Sie festlegen, wie hoch die Kamera beim Flug zu einem Punkt positioniert wird. Höhere Werte bieten eine weiter herausgezoomte Panoramaansicht, während niedrigere Werte die Details des Bereichs näher heranholen.
// Camera height (in meters) above the target when flying to a point.
const CAMERA_HEIGHT = 100;
- Einstellung:
CAMERA_HEIGHT - Standardwert: 100
- Beschreibung: Definiert die Höhe der Kamera über dem Zielort, wenn ein Punkt angeflogen wird.
- Beispielwerte:
- 50: Nahaufnahme, bei der Details hervorgehoben werden.
- 200: Eine Panorama-Perspektive.
Kameraneigung
Die anfängliche Neigung der Kamera wird durch BASE_PITCH definiert. Verwenden Sie negative Werte für eine Neigung nach unten und positive Werte für eine Neigung nach oben. Wenn Sie Ihrer explorativen Datenanalyse eine subtile dynamische Bewegung hinzufügen möchten, ändern Sie AUTO_ORBIT_PITCH_AMPLITUDE.
// Pitch 30 degrees downwards
const BASE_PITCH = -30;
// change the pitch by 10 degrees over time
const AUTO_ORBIT_PITCH_AMPLITUDE = 10;
- Einstellung:
BASE_PITCHundAUTO_ORBIT_PITCH_AMPLITUDE - Standardwerte:
BASE_PITCH: -30 (30 Grad nach unten geneigt)AUTO_ORBIT_PITCH_AMPLITUDE: 10 (Änderung der Neigung um 10 Grad im Laufe der Zeit)
Beschreibung: Die Kameraneigung ist die visuelle Neigung einer Karte, die in Grad gemessen wird. Sie wird auch als Neigung bezeichnet. Mit diesen Einstellungen werden die anfängliche Neigung der Kamera und die dynamische Neigungsanpassung bei automatischen Drehungen definiert.
Beispielwerte:
BASE_PITCH: 0 (Kamera ausrichten)AUTO_ORBIT_PITCH_AMPLITUDE: 0 (keine Tonhöhenvariation)
Kamerabereich und Zoom
Mit diesen Parametern wird die Zoomstufe festgelegt, die beim Fokussieren auf bestimmte Punkte angewendet wird. Kleinere Werte bedeuten einen stärkeren Zoom.
// Distance variation relative to initial range.
const RANGE_AMPLITUDE_RELATIVE = 0.55;
// Determines how much the camera should zoom in or out
const ZOOM_FACTOR = 20;
Einstellung: RANGE_AMPLITUDE_RELATIVE und ZOOM_FACTOR
Standardwerte:
RANGE_AMPLITUDE_RELATIVE: 0,55 (relative Entfernungsvariation)ZOOM_FACTOR: 20 (Kamerazoomfaktor)
Beschreibung: Mit diesen Einstellungen werden die Bereichsvariation während der Kamerabewegung und die Zoomstufe für eine genauere Ansicht definiert.
Beispielwerte:
RANGE_AMPLITUDE_RELATIVE: 1 (full range variation)ZOOM_FACTOR: 10 (weniger Zoom)
// Camera heading (rotation), pitch (tilt), and range (distance) for resetting view.
const CAMERA_OFFSET = {
heading: 0, // No rotation offset.
pitch: Cesium.Math.toRadians(BASE_PITCH),
range: 800, // 800 meters from the center.
};
Kamera zurücksetzen
Wenn ein Nutzer die Kamera auf die ursprüngliche Position zurücksetzen möchte, werden die CAMERA_OFFSET-Werte verwendet. Diese Einstellung umfasst die Richtung (Drehung), die Neigung und die Entfernung (wie weit die Kamera von der Mitte entfernt ist).
- Einstellung:
CAMERA_OFFSET - Standardwerte:
heading: 0 (kein Rotationsversatz)pitch: Cesium.Math.toRadians(-30) (30 Grad nach unten neigen)range: 800 (800 Meter vom Zentrum entfernt)
- Beschreibung: Definiert die Richtung, Neigung und Entfernung der Kamera zum Zurücksetzen der Ansicht.
- Beispielwerte:
heading: 45 (Grad, Blickrichtung Nordwesten)range: 1.500 Meter (weiter vom Zentrum entfernt)
Startkoordinaten:
Die START_COORDINATES definieren den anfänglichen Längengrad, Breitengrad und die Höhe der Kamera. Hier beginnt die Erkundung. Legen Sie also den Bereich fest, den Nutzer zuerst sehen sollen.
// Default camera start position in longitude, latitude, and altitude.
const START_COORDINATES = {
longitude: 0,
latitude: 60,
height: 15000000, // 15,000 km above the surface
};
- Einstellung:
START_COORDINATES Standardwerte:
longitude: 0latitude: 60height: 15000000 (15.000 km über der Oberfläche)
Beispielwerte:
longitude: -122.4934,latitude: 37.7951 (Golden Gate Bridge)height: 2000 (nähere Startposition)
Vordefinierten Ort laden
Das location-Objekt in config.json legt den Mittelpunkt des Bereichs fest. Dies ist der ursprüngliche Blickwinkel der Kamera im Cesium-Viewer.coordinates: Definiert den Breiten- (lat) und Längengrad (lng) für den Ort, zu dem die Kamera zuerst schwenken soll. Passen Sie diese Werte an, um die Kamera auf einen bestimmten Ort auf der Erde auszurichten.
{
"location": {
"coordinates": { "lat": null, "lng": null }
},
Mit dieser Konfiguration können Sie die 3D Place Navigator-Anwendung so starten, dass sie auf einen bestimmten Ort Ihrer Wahl herangezoomt ist. Mit dem Geocoding-Tool von Google können Sie die Breiten- und Längengradkoordinaten einer Adresse oder eines Ortsnamens abrufen, indem Sie sie im Standortobjekt angeben:
- Rufen Sie das Geocoding-Tool auf.
- Geocoding-Anfrage erstellen: Klicken Sie auf den Bereich „Selbst ausprobieren“ und geben Sie den gewünschten Ort in das Feld „Adresse“ ein. Sie können eine Adresse, einen Ortsnamen oder sogar Sehenswürdigkeiten angeben.
- Koordinaten generieren: Klicken Sie auf den Button „Ausführen“, um Ihre Anfrage zu senden. Das Tool gibt eine Antwort mit verschiedenen Informationen zum Ort zurück, einschließlich der Breiten- und Längengradkoordinaten, die im Abschnitt
geometry.locationangezeigt werden. - Geocodes verwenden: Kopieren Sie die abgerufenen Werte für Breiten- und Längengrad aus der Antwort und fügen Sie sie in das
coordinates-Objekt in Ihrer Konfiguration ein.
Hinweis: Geocodes, die auf diese Weise verwendet werden, müssen den Bedingungen in Abschnitt 3.4 der Nutzungsbedingungen für die Google Maps Platform entsprechen. Das bedeutet, dass sie nicht länger als 30 Tage im Cache gespeichert werden dürfen und danach aktualisiert werden müssen.

Bei dieser Konfiguration wird das Geocoding-Tool verwendet, um automatisch die Koordinaten des Google-Hauptsitzes in Mountain View, Kalifornien, zu ermitteln und die 3D Place Navigator-Anwendung mit der Kamera auf diesen Standort zu starten.
Erweiterte Anpassungen
Sie können weitere Anpassungen vornehmen, indem Sie sich eingehender mit dem Code befassen. Im folgenden Abschnitt werden einige Optionen beschrieben.
Neuen Kamerapfad hinzufügen
Die Lösung implementiert standardmäßig zwei verschiedene Kamerapfade:
fixed-orbit" | "dynamic-orbit"
Wenn Sie jedoch einen neuen Kamerapfad erstellen möchten, können Sie ihn mit der
/src/utils/cesium.js in der Funktion calculateAutoOrbitFrame.
Wenn Sie diese neue Pfadberechnung im Konfigurationsbereich verwenden möchten,finden Sie Informationen dazu in der Implementierung in demo/src/camera-settings.js..
Weitere Ortstypen hinzufügen
Die Liste der Ortstypen für die Konfiguration kann in der Datei demo/src/place-settings.js angepasst werden. Ab Zeile 4 werden die in der Demo verfügbaren Ortstypen aufgeführt.
Wenn Sie bestimmte Ortstypen verwenden möchten, ohne die Demoquelle zu ändern, können Sie sie einfach in der Datei config.json unter poi.types hinzufügen.
Stil anpassen (CSS)
Für die Stile haben wir mit CSS-Variablen gearbeitet. Sie werden von allen gängigen Browsern unterstützt und ermöglichen es, eine Zeile an einer zentralen Stelle zu ändern und bestimmte CSS-Eigenschaften zu aktualisieren. Unsere CSS-Variablen sind in src/main.css. definiert. Dort können Sie Farben, Schriftarteinstellungen und Abstände oder Ränder für die gesamte Anwendung anpassen.
Zusätzliche Daten einblenden
Wenn Sie zusätzliche Daten einblenden möchten, müssen Sie die Datei „src/utils/cesium.js“ aktualisieren. In der Cesium-Dokumentation finden Sie Informationen dazu, wie Sie GeoJSON- oder andere georeferenzierte Daten auf dem Globus hinzufügen.
Konfigurationsabschnitte entfernen
Unsere JavaScript-Anwendung hat drei Hauptabschnitte in der Konfigurationsdatei: demo/src/[config-panel.js](config-panel.js): location, poi und camera. Jeder dieser Abschnitte enthält Konfigurationsoptionen für verschiedene Aspekte der Anwendung. Entwickler können diese Abschnitte an ihre spezifischen Anforderungen anpassen.
1.Bestimmten Abschnitt aus der Konfiguration entfernen
- Abschnitt „Standort“
Wenn Sie den Abschnitt location entfernen möchten, suchen Sie die folgende Zeile in Ihrem Code und kommentieren Sie sie aus oder löschen Sie sie:
const locationConfig = { ...config.location, ...customConfig.location };
- POI-Abschnitt
Wenn Sie den Abschnitt poi entfernen möchten, suchen Sie die folgende Zeile in Ihrem Code und kommentieren Sie sie aus oder löschen Sie sie:
const poiConfig = { ...config.poi, ...customConfig.poi };
- Kamera
Wenn Sie den Abschnitt camera entfernen möchten, suchen Sie die folgende Zeile in Ihrem Code und kommentieren Sie sie aus oder löschen Sie sie:
const cameraConfig = { ...config.camera, ...customConfig.camera };
2. Kombinierte Konfigurationen aktualisieren
Nachdem Sie einen Abschnitt entfernt haben, müssen Sie das kombinierte Konfigurationsobjekt aktualisieren. Dieses Objekt führt die Standardkonfiguration mit allen Anpassungen zusammen.
Entfernen Sie das entsprechende Attribut aus dem combinedConfig-Objekt:
const combinedConfig = {
location: { ...config.location, ...customConfig.location }, // Remove if location section is removed
poi: { ...config.poi, ...customConfig.poi }, // Remove if poi section is removed
camera: { ...config.camera, ...customConfig.camera }, // Remove if camera section is removed
};
3. UI-Elemente anpassen
Wenn durch das Entfernen eines Abschnitts auch zugehörige UI-Elemente entfernt werden, aktualisieren Sie den Code im HTML-Code entsprechend. Wenn Sie beispielsweise einen bestimmten Bereich wie die Kamerageschwindigkeit aus dem Admin-Bereich entfernen möchten, müssen Sie sowohl den JS- als auch den HTML-Code dafür aktualisieren.
4. Abschnitt „Kameraeinstellungen“ entfernen
Wenn Sie den Abschnitt mit den Kameraeinstellungen aus der Benutzeroberfläche entfernen möchten, suchen Sie die folgende Zeile und kommentieren Sie sie aus oder löschen Sie sie:
const cameraSettingsSecgetCameraSettingsSection(cameraConfig);
Zusammenfassung zum Entfernen des Abschnitts „Standort“
const locationSection = await getLocationSettingsSection(locationConfig);
Fazit
In diesem Dokument haben wir die verschiedenen Anpassungsoptionen im Area Explorer beschrieben, mit denen Sie die 3D-Erkundung anpassen können. Durch Ändern des Kameraverhaltens, Anpassen der visuellen Neigung und Ändern der Zoomstufen können Sie einzigartige und ansprechende Erlebnisse schaffen, die Ihre ausgewählten Einstellungen und POIs präsentieren.
Experimentieren Sie mit verschiedenen Konfigurationen und passen Sie die Parameter an Ihre spezifischen Anforderungen an. Durch die Nutzung der Anpassungsmöglichkeiten können Sie immersive und personalisierte Erlebnisse schaffen, die Ihr Publikum fesseln und Ihre Vision zum Leben erwecken.