Cesium for Unreal 2.20.0
Loading...
Searching...
No Matches
CesiumGoogleMapTilesRasterOverlay.h
Go to the documentation of this file.
1// Copyright 2020-2025 CesiumGS, Inc. and Contributors
2
3#pragma once
4
6#include "CoreMinimal.h"
7#include "CesiumGoogleMapTilesRasterOverlay.generated.h"
8
9/**
10 * The possible values of the `MapType` property.
11 */
12UENUM(BlueprintType)
13enum class EGoogleMapTilesMapType : uint8 {
14 /**
15 * Satellite imagery.
16 */
18
19 /**
20 * The standard Google Maps painted map tiles.
21 */
23
24 /**
25 * Terrain imagery. When selecting terrain as the map type, you must
26 * also add "Roadmap" to the `LayerTypes` property.
27 */
29};
30
31/**
32 * The possible values of the `Scale` property.
33 */
34UENUM(BlueprintType)
35enum class EGoogleMapTilesScale : uint8 {
36 /**
37 * @brief The default.
38 */
39 ScaleFactor1x UMETA(DisplayName = "1x"),
40
41 /**
42 * @brief Doubles label size and removes minor feature labels.
43 */
44 ScaleFactor2x UMETA(DisplayName = "2x"),
45
46 /**
47 * @brief Quadruples label size and removes minor feature labels.
48 */
49 ScaleFactor4x UMETA(DisplayName = "4x"),
50};
51
52/**
53 * The possible values of the `LayerTypes` property.
54 */
55UENUM(BlueprintType)
56enum class EGoogleMapTilesLayerType : uint8 {
57 /**
58 * Required if you specify terrain as the map type. Can also be
59 * optionally overlaid on the satellite map type. Has no effect on roadmap
60 * tiles.
61 */
63
64 /**
65 * Shows Street View-enabled streets and locations using blue outlines
66 * on the map.
67 */
69
70 /**
71 * Displays current traffic conditions.
72 */
74};
75
76/**
77 * A raster overlay that directly accesses Google Map Tiles (2D). If you're
78 * using Google Map Tiles via Cesium ion, use the "Cesium ion Raster Overlay"
79 * component instead.
80 */
81UCLASS(ClassGroup = Cesium, meta = (BlueprintSpawnableComponent))
83 : public UCesiumRasterOverlay {
84 GENERATED_BODY()
85
86public:
87 /**
88 * The Google Map Tiles API key to use.
89 */
90 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
91 FString Key;
92
93 /**
94 * The type of base map.
95 */
96 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
98
99 /**
100 * An IETF language tag that specifies the language used to display
101 * information on the tiles. For example, `en-US` specifies the English
102 * language as spoken in the United States.
103 */
104 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
105 FString Language = "en-US";
106
107 /**
108 * A Common Locale Data Repository region identifier (two uppercase letters)
109 * that represents the physical location of the user. For example, `US`.
110 */
111 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
112 FString Region = "US";
113
114 /**
115 * Scales-up the size of map elements (such as road labels), while
116 * retaining the tile size and coverage area of the default tile.
117 *
118 * Increasing the scale also reduces the number of labels on the map, which
119 * reduces clutter.
120 */
121 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
123
124 /**
125 * Specifies whether to return high-resolution tiles.
126 *
127 * If the scale-factor is increased, `highDpi` is used to increase the size of
128 * the tile. Normally, increasing the scale factor enlarges the resulting tile
129 * into an image of the same size, which lowers quality. With `highDpi`, the
130 * resulting size is also increased, preserving quality. DPI stands for Dots
131 * per Inch, and High DPI means the tile renders using more dots per inch than
132 * normal. If `true`, then the number of pixels in each of the x and y
133 * dimensions is multiplied by the scale factor (that is , 2x or 4x). The
134 * coverage area of the tile remains unchanged. This parameter works only with
135 * `Scale` values of `2x` or `4x`. It has no effect on `1x` scale tiles.
136 */
137 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
138 bool HighDPI = false;
139
140 /**
141 * The layer types to be added to the map.
142 */
143 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
145
146 /**
147 * An array of JSON style objects that specify the appearance and
148 * detail level of map features such as roads, parks, and built-up areas.
149 *
150 * Styling is used to customize the standard Google base map. The `styles`
151 * parameter is valid only if the `MapType` is `Roadmap`. For the complete
152 * style syntax, see the [Style
153 * Reference](https://developers.google.com/maps/documentation/tile/style-reference).
154 */
155 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
156 TArray<FString> Styles;
157
158 /**
159 * Specifies whether `LayerTypes` rendered as a separate overlay, or combined
160 * with the base imagery.
161 *
162 * When `true`, the base map isn't displayed. If you haven't defined any
163 * `LayerTypes`, then this value is ignored.
164 */
165 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Cesium")
166 bool Overlay = false;
167
168protected:
169 virtual std::unique_ptr<CesiumRasterOverlays::RasterOverlay> CreateOverlay(
170 const CesiumRasterOverlays::RasterOverlayOptions& options = {}) override;
171};
EGoogleMapTilesScale
The possible values of the Scale property.
EGoogleMapTilesLayerType
The possible values of the LayerTypes property.
@ Streetview
Shows Street View-enabled streets and locations using blue outlines on the map.
@ Traffic
Displays current traffic conditions.
EGoogleMapTilesMapType
The possible values of the MapType property.
@ Roadmap
The standard Google Maps painted map tiles.
A raster overlay that directly accesses Google Map Tiles (2D).
virtual std::unique_ptr< CesiumRasterOverlays::RasterOverlay > CreateOverlay(const CesiumRasterOverlays::RasterOverlayOptions &options={}) override
EGoogleMapTilesScale Scale
Scales-up the size of map elements (such as road labels), while retaining the tile size and coverage ...
bool HighDPI
Specifies whether to return high-resolution tiles.
TArray< EGoogleMapTilesLayerType > LayerTypes
The layer types to be added to the map.
FString Key
The Google Map Tiles API key to use.
FString Region
A Common Locale Data Repository region identifier (two uppercase letters) that represents the physica...
bool Overlay
Specifies whether LayerTypes rendered as a separate overlay, or combined with the base imagery.
EGoogleMapTilesMapType MapType
The type of base map.
TArray< FString > Styles
An array of JSON style objects that specify the appearance and detail level of map features such as r...
FString Language
An IETF language tag that specifies the language used to display information on the tiles.
STL namespace.