7#include "Kismet/BlueprintAsyncActionBase.h"
8#include "Kismet/BlueprintFunctionLibrary.h"
9#include "Math/MathFwd.h"
10#include "Misc/Optional.h"
11#include "Templates/SharedPointer.h"
12#include "UObject/Object.h"
13#include "UObject/ObjectMacros.h"
15THIRD_PARTY_INCLUDES_START
16#include <CesiumIonClient/Connection.h>
17THIRD_PARTY_INCLUDES_END
19#include <CesiumGeospatial/Cartographic.h>
20#include <CesiumGeospatial/GlobeRectangle.h>
21#include <CesiumIonClient/Geocoder.h>
22#include <CesiumUtility/Math.h>
26#include "CesiumGeocoderServiceBlueprintLibrary.generated.h"
37 Google = CesiumIonClient::GeocoderProviderType::Google,
41 Bing = CesiumIonClient::GeocoderProviderType::Bing,
46 Default = CesiumIonClient::GeocoderProviderType::Default
57 Search = CesiumIonClient::GeocoderRequestType::Search,
77 const CesiumIonClient::GeocoderAttribution& attribution);
82 UPROPERTY(BlueprintReadOnly, Category =
"Cesium|Geocoder")
89 UPROPERTY(BlueprintReadOnly, Category =
"Cesium|Geocoder")
103 const CesiumIonClient::GeocoderFeature& feature);
122 Category =
"Cesium|Geocoder",
123 meta = (AllowPrivateAccess))
138 Category =
"Cesium|Geocoder",
139 meta = (AllowPrivateAccess))
147 Category =
"Cesium|Geocoder",
148 meta = (AllowPrivateAccess))
164 UPROPERTY(BlueprintReadOnly, Category =
"Cesium|Geocoder")
170 UPROPERTY(BlueprintReadOnly, Category =
"Cesium|Geocoder")
175 FCesiumGeocoderServiceDelegate,
185 : public UBlueprintAsyncActionBase {
202 Category =
"Cesium|Geocoder",
204 (BlueprintInternalUseOnly =
true,
205 DisplayName =
"Query Cesium ion Geocoder"))
207 const FString& IonAccessToken,
211 const FString& Query);
213 UPROPERTY(BlueprintAssignable)
219 FString _ionAccessToken;
ECesiumIonGeocoderProviderType
The supported providers that can be accessed through ion's geocoder API.
@ Bing
Bing geocoder, for use with Bing data.
@ Default
Use the default geocoder as set on the server.
@ Google
Google geocoder, for use with Google data.
ECesiumIonGeocoderRequestType
The supported types of requests to geocoding API.
@ Search
Perform a full search from a complete query.
@ Autocomplete
Perform a quick search based on partial input, such as while a user is typing.
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FCesiumGeocoderServiceDelegate, bool, Success, UCesiumGeocoderServiceResult *, Result, FString, Error)
FCesiumGeocoderServiceDelegate OnGeocodeRequestComplete
static UCesiumGeocoderServiceIonGeocoderAsyncAction * Geocode(const FString &IonAccessToken, const UCesiumIonServer *CesiumIonServer, ECesiumIonGeocoderProviderType ProviderType, ECesiumIonGeocoderRequestType RequestType, const FString &Query)
Queries the Cesium ion Geocoder service.
virtual void Activate() override
The result of making a request to a geocoder service.
TArray< FCesiumGeocoderServiceAttribution > Attributions
Any necessary attributions for this geocoder result.
TArray< FCesiumGeocoderServiceFeature > Features
The features obtained from this geocoder service, if any.
UCesiumGeocoderServiceResult()=default
Defines a Cesium ion Server.
Attribution information for a query to a geocoder service.
FString Html
An HTML string containing the necessary attribution information.
bool bShowOnScreen
If true, the credit should be visible in the main credit container.
FCesiumGeocoderServiceAttribution(const CesiumIonClient::GeocoderAttribution &attribution)
FCesiumGeocoderServiceAttribution()=default
A single feature (a location or region) obtained from a geocoder service.
FBox GlobeRectangle
The globe rectangle that bounds the feature.
FCesiumGeocoderServiceFeature(const CesiumIonClient::GeocoderFeature &feature)
FString DisplayName
The user-friendly display name of this feature.
FVector LongitudeLatitudeHeight
The position of the feature expressed as longitude in degrees (X), latitude in degrees (Y),...
FCesiumGeocoderServiceFeature()=default