Narzędzie 3D Area Explorer umożliwia odkrywanie społeczności w pociągającej grafice 3D. Rozwiązanie wykorzystuje: fotorealistyczne kafelki 3D Google, wyszukiwanie miejsc, szczegóły miejsca i interfejsy Autocomplete API.
Pierwsze kroki:
Włącz
Dostosuj do swoich potrzeb
Eksplorator obszarów 3D pozwala w znacznym stopniu dostosować
na wrażeniach klientów. Możesz dostosować
za pomocą panelu sterowania interfejsu użytkownika lub pliku config.json
.
Gotowy do personalizacji? Aby to zrobić:
Lokalizacja
Określ punkt początkowy, dostosowując współrzędne geograficzne w pliku config.json
.
Sterowanie kamerą
Przejmij kontrolę nad swoją podróżą, wybierając typ orbity kamery: klasyczną ścieżkę okrągłą lub intrygującą sinusoidę.
Stała orbita:
To jest okrągła orbita o stałej wysokości i wokół określonego punktu a interesem publicznym.
Zobacz, jak działa stała orbita, eksplorując Google Sydney
Dynamiczna orbita:
Kamera płynnie porusza się w trajektorii fali sinusoidalnej wokół wyznaczonego ciekawego miejsca. Ten wyjątkowy ruch pozwala widzom zauważyć punkt interesujące na różnych wysokościach i pod różnymi kątami, oferując dynamiczne wciągające doznania wizualne.
Zobacz, jak działa dynamiczna orbita, analizując obiekt Eiffla .
Ciekawe miejsca:
- Dostosuj swoją eksplorację, określając rodzaje miejsc, które chcesz odwiedzić
odkrywać. Wybieraj spośród muzeów, parków, szkół i innych miejsc, używając
types
tablica wconfig.json
. - Ustaw maksymalną liczbę wyświetlanych ciekawych miejsc, dostosowując odpowiednio
density
. - Zmień ustawienie
searchRadius (in meters)
, aby uwzględnić ukryte perły w pobliżu lub skupić się na określonych obszarach. - Za pomocą parametru
speed (in revolutions per minute)
ustaw szybkość ruchu kamery.
Wstępny załadunek Twojej eksploracji: zaawansowane dostosowywanie adresu URL
Eksplorator obszarów 3D umożliwia wstępne zdefiniowanie eksploracji za pomocą adresu URL i personalizacji reklam. Eliminuje to konieczność konfigurowania ręcznej konfiguracji, co usprawnia pracę. z perspektywy użytkownika.
Tworzenie idealnego adresu URL:
Wystarczy dodać określone parametry do adresu URL Eksploratora obszaru, aby wstępnie ustawić lokalizację i inne ustawienia. Na przykład:
https://{base-url}/#location.coordinates.lat=40.7424396&location.coordinates.lng=-74.0061439
Ten adres URL ustawia punkt początkowy na współrzędne geograficzne podane w wyszukiwarce, aby natychmiast przetransportować Cię do wybranej lokalizacji. Dostępne parametry:
location.coordinates.lat
: szerokość geograficzna wybranej lokalizacji.location.coordinates.lng
: długość geograficzna wybranej lokalizacji.poi.types
: lista oddzielonych przecinkami typów punktów POI do wyświetlenia.poi.density
: wybrana maksymalna liczba ciekawych miejsc.poi.searchRadius
: promień wyszukiwania ciekawych miejsc w pobliżu.camera.speed
: prędkość orbity kamery.camera.orbitType
: typ orbity kamery („stała orbita” lub „dynamiczna orbita”).
Zalety dostosowywania adresów URL:
- Uprość korzystanie z urządzenia przez użytkowników, definiując wstępnie wybrane ustawienia.
- Udostępniaj docelowe podróże z określonymi, wstępnie załadowanymi lokalizacjami i ważnymi miejscami.
- Sprawnie umieszczaj w witrynach wstępnie skonfigurowane funkcje Area Explorera.
Korzystając z funkcji dostosowywania adresów URL, możesz tworzyć zaproś innych do udziału w wyselekcjonowanych przygodach.
Dalsze dostosowania
W poprzedniej sekcji omówiliśmy zmiany dostępne w interfejsie lub pliku konfiguracyjnym. Dostępnych jest jednak kilka innych wbudowanych parametrów, modyfikować, aby jeszcze bardziej dostosować aplikację.
Aby wprowadzić te zaawansowane ustawienia, musisz sprawdzić kod w pliku src/utils/cesium.js
w katalogu src. Poniżej
Zmienne – można zmieniać, aby zmienić wygląd i sposób działania aplikacji
Wysokość aparatu
Kontroluj pozycję kamery podczas lotu w kierunku wybranego punktu przez
dostosowanie wartości CAMERA_HEIGHT
. Im wyższa wartość, tym większa
pomniejszony i panoramiczny widok, a niższe wartości
zbliżą obraz
szczegóły tego obszaru
// Camera height (in meters) above the target when flying to a point.
const CAMERA_HEIGHT = 100;
- Ustawienie:
CAMERA_HEIGHT
- Wartość domyślna: 100
- Opis: określa wysokość kamery nad celem podczas lotu do punktu.
- Przykładowe wartości:
- 50: widok z bliska, który podkreśla szczegóły.
- 200: widok bardziej panoramiczny.
Nachylenie kamery
Początkowa wartość pochylenie kamery jest definiowane przez funkcję BASE_PITCH. Użyj wartości ujemnych, aby przechylić w dół a pozytywne na wyższe. Aby dodać subtelny ruch dynamiczny do eksploracji, zmień parametr 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;
- Ustawienie:
BASE_PITCH
iAUTO_ORBIT_PITCH_AMPLITUDE
- Wartości domyślne:
BASE_PITCH
: -30 (30° w dół)AUTO_ORBIT_PITCH_AMPLITUDE
: 10 (zmiana nachylenia o 10 stopni czas).
Opis: pochylenie kamery to wizualne pochylenie mapy, które jest mierzone w stopniach. Jest to również nazywane przechyleniem. Te ustawienia określają wartość początkową kamery i dynamiczna regulacja tonacji podczas rotacji automatycznych.
Przykładowe wartości:
BASE_PITCH
: 0 (poziom aparatu)AUTO_ORBIT_PITCH_AMPLITUDE
: 0 (brak odmiany)
Zasięg i zoom kamery
Te parametry określają stopień powiększenia, po którym następuje skupienie pkt. Mniejsze wartości oznaczają większe powiększenie.
// 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;
Ustawienie: RANGE_AMPLITUDE_RELATIVE
i ZOOM_FACTOR
Wartości domyślne:
RANGE_AMPLITUDE_RELATIVE
: 0,55 (względna odległość)ZOOM_FACTOR
: 20 (współczynnik powiększenia w aparacie)
Opis: te ustawienia określają zmienność zakresu w trakcie korzystania z kamery. ruch i poziom powiększenia, by przyjrzeć się bliżej.
Przykładowe wartości:
RANGE_AMPLITUDE_RELATIVE
: 1 (odmiana w pełnym zakresie)ZOOM_FACTOR
: 10 (mniejsze powiększenie)
// 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.
};
Resetowanie aparatu
Gdy użytkownik chce przywrócić kamerę do pierwotnego położenia, Użyte wartości: CAMERA_OFFSET. To ustawienie obejmuje nagłówek (obrót), wysokość (pochylenie) i zasięg (odległość kamery od środka).
- Ustawienie:
CAMERA_OFFSET
- Wartości domyślne:
heading
: 0 (bez przesunięcia obrotu)pitch
: Cez.Math.toRadians(-30) (kąt 30 stopni w dół)range
: 800 (800 metrów od centrum)
- Opis: definiuje nagłówek, ton i zakres kamery widok.
- Przykładowe wartości:
heading
: 45 (stopnie, widok na północny zachód)range
: 1500 metrów (dalej od centrum)
Współrzędne początkowe:
START_COORDINATES określa początkową długość geograficzną, szerokość geograficzną i wysokość kamery. To miejsce, w którym rozpocznie się eksploracja, ustaw więc ją na interesujący Cię obszar które użytkownicy zobaczą jako pierwsze.
// Default camera start position in longitude, latitude, and altitude.
const START_COORDINATES = {
longitude: 0,
latitude: 60,
height: 15000000, // 15,000 km above the surface
};
- Ustawienie:
START_COORDINATES
Wartości domyślne:
longitude
: 0latitude
: 60height
: 15000000 (15 000 km nad powierzchnią)
Przykładowe wartości:
longitude
: -122.4934,latitude
: 37.7951 (Golden Gate Bridge)height
: 2000 (bliższa pozycja początkowa)
Wczytywanie wstępnie zdefiniowanej lokalizacji
Obiekt location
w obiekcie config.json
wyznacza środek obszaru. Jest
początkowy punkt widzenia kamery w przeglądarce Cesium.coordinates
: Definiuje szerokość geograficzną (lat
) i długość geograficzną (lng
) lokalizacji, do której ma najpierw przesunąć się kamera. Dostosuj te wartości, aby ustawić kamerę w dowolnym miejscu
kuli ziemskiej.
{
"location": {
"coordinates": { "lat": null, "lng": null }
},
Ta konfiguracja umożliwia uruchamianie aplikacji 3D Place Navigator powiększony widok konkretnej lokalizacji. Za pomocą narzędzia Google do geokodowania możesz sprawdzić szerokość i długość geograficzną. współrzędne adresu lub nazwy miejsca, podając je w lokalizacji obiekt:
- Otwórz narzędzie do geokodowania.
- Utwórz żądanie geokodowania kliknij „Wypróbuj samodzielnie”. i w polu „Adres” wpisz wybraną lokalizację. . Możesz podać adres, nazwy miejsc, a nawet punktów orientacyjnych.
- Generowanie współrzędnych Kliknij przycisk „Uruchom”, aby przesłać prośbę.
zwróci odpowiedź zawierającą różne informacje na temat lokalizacji,
w tym szerokości i długości geograficznej wyświetlanych pod
geometry.location
. - Użyj geokodów. Skopiuj pobrane wartości szerokości i długości geograficznej
i wklej ją do obiektu
coordinates
w swojej konfiguracji.
Uwaga: kody geolokalizacji używane w ten sposób muszą być zgodne z Warunkami korzystania z usługi Map Google Platform określonymi w sekcji 3.4, czyli nie mogą być przechowywane w pamięci podręcznej dłużej niż 30 dni i muszą zostać odświeżone po tym czasie.
W tej konfiguracji używane jest narzędzie Geocoding, aby automatycznie określić dane siedziby Google w Mountain View w Kalifornii oraz aplikacji 3D Place Navigator i wyśrodkuj aparat na tej lokalizacji.
Zaawansowane opcje dostosowywania
Możesz dostosować go jeszcze bardziej, zagłębiając się w kod. W następnej sekcji omówiono kilka opcji
Dodaj nową ścieżkę kamery
Gotowe rozwiązanie wdraża 2 różne ścieżki kamery:
fixed-orbit" | "dynamic-orbit"
Jeśli jednak chcesz utworzyć nową ścieżkę kamery, możesz ją zaimplementować za pomocą
/src/utils/cesium.js w funkcji calculateAutoOrbitFrame
.
Aby użyć nowego obliczenia ścieżki w panelu konfiguracji,zapoznaj się z
wdrożenie w: demo/src/camera-settings.js.
Dodaj więcej typów miejsc
Listę typów miejsc w konfiguracji można dostosować w pliku
demo/src/place-settings.js
Na linii 4 znajdują się typy miejsc dostępne w wersji demonstracyjnej.
Jeśli chcesz użyć określonych typów miejsc bez zmiany źródła wersji demonstracyjnej
może po prostu dodać je do pliku config.json
w katalogu poi.types
Dostosowywanie stylu (CSS)
Pracowaliśmy przy stylach ze zmiennymi CSS. Są obsługiwane na każdym kierunku
i umożliwić zmianę jednego wiersza w centralnym miejscu
określonych właściwości CSS. Nasze zmienne CSS są zdefiniowane w pliku src/main.css.
. Możesz w nim dostosowywać kolory, ustawienia czcionki oraz wypełnienie lub marginesy w całej aplikacji.
Nakładanie dodatkowych danych
Aby dodać więcej danych, zaktualizuj plik src/utils/cesium.js oraz zapoznaj się z dokumentacją cezową, by dodać GeoJSON lub inne odniesienia geograficzne na kulę ziemską.
Usuń sekcje konfiguracji
Aplikacja JavaScript składa się z trzech głównych sekcji:
plik konfiguracji: demo/src/[config-panel.js](config-panel.js): location
,
poi
i camera
. Każda z tych sekcji zawiera opcje konfiguracji
różnych aspektach aplikacji. Deweloperzy mogą dostosować te sekcje
z uwzględnieniem ich konkretnych potrzeb.
1.Usuń określoną sekcję z konfiguracji
- Sekcja lokalizacji
Aby usunąć sekcję location
, znajdź w kodzie następujący wiersz i
skomentować lub usunąć:
const locationConfig = { ...config.location, ...customConfig.location };
- Sekcja POI
Aby usunąć sekcję poi
, znajdź następujący wiersz w kodzie i komentarz
lub usunąć:
const poiConfig = { ...config.poi, ...customConfig.poi };
- Sekcja dotycząca aparatu
Aby usunąć sekcję camera
, znajdź następujący wiersz w kodzie i komentarz
lub usunąć:
const cameraConfig = { ...config.camera, ...customConfig.camera };
2. Zaktualizuj połączone konfiguracje
Po usunięciu sekcji musisz zaktualizować połączoną konfigurację
obiektu. Ten obiekt scala konfigurację domyślną ze wszystkimi dostosowaniami.
Usuń odpowiednią właściwość z obiektu combinedConfig
:
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. Dostosuj elementy interfejsu
Jeśli usunięcie sekcji oznacza też usunięcie powiązanych elementów interfejsu, zaktualizuj kod odpowiednio w kodzie HTML. Jeśli na przykład chcesz usunąć konkretną stronę w panelu administracyjnym, na przykład Szybkość kamery, musisz zaktualizować JavaScript i HTML.
4. Usuń sekcję ustawień aparatu
Aby usunąć sekcję ustawień aparatu z interfejsu użytkownika, znajdź ten wiersz i skomentować lub usunąć:
const cameraSettingsSecgetCameraSettingsSection(cameraConfig);
Podsumowanie usuwania sekcji Lokalizacja
const locationSection = await getLocationSettingsSection(locationConfig);
Podsumowanie
W tym dokumencie omówiliśmy różne opcje dostosowywania dostępne w aplikacji Area Explorer, które umożliwiają dostosowanie eksploracji w 3D do własnych potrzeb. Przez zmianę zachowanie kamery, dostosowywanie przechylenia i zmianę poziomów powiększenia, wyjątkowe i ciekawe elementy, które pokazują wybrane przez Ciebie ustawienia i punkty w interesie publicznym.
Pamiętaj, żeby poeksperymentować z różnymi konfiguracjami i dostosować aby dostosować je do konkretnych potrzeb. Korzystając z możliwości możesz tworzyć wciągające, spersonalizowane podróże, z odbiorcami i zrealizowaniem Waszych wizji.