cesium-native 0.44.2
Loading...
Searching...
No Matches
BingMapsRasterOverlay.h
1#pragma once
2
3#include <CesiumAsync/IAssetRequest.h>
4#include <CesiumGeospatial/Ellipsoid.h>
5#include <CesiumRasterOverlays/Library.h>
6#include <CesiumRasterOverlays/RasterOverlay.h>
7
8#include <functional>
9#include <memory>
10
11namespace CesiumRasterOverlays {
12
19struct BingMapsStyle final {
23 static const std::string AERIAL;
24
30 static const std::string AERIAL_WITH_LABELS;
31
35 static const std::string AERIAL_WITH_LABELS_ON_DEMAND;
36
42 static const std::string ROAD;
43
47 static const std::string ROAD_ON_DEMAND;
48
52 static const std::string CANVAS_DARK;
53
57 static const std::string CANVAS_LIGHT;
58
62 static const std::string CANVAS_GRAY;
63
69 static const std::string ORDNANCE_SURVEY;
70
74 static const std::string COLLINS_BART;
75};
76
81class CESIUMRASTEROVERLAYS_API BingMapsRasterOverlay final
82 : public RasterOverlay {
83public:
101 const std::string& name,
102 const std::string& url,
103 const std::string& key,
104 const std::string& mapStyle = BingMapsStyle::AERIAL,
105 const std::string& culture = "",
106 const RasterOverlayOptions& overlayOptions = {});
107 virtual ~BingMapsRasterOverlay() override;
108
110 const CesiumAsync::AsyncSystem& asyncSystem,
111 const std::shared_ptr<CesiumAsync::IAssetAccessor>& pAssetAccessor,
112 const std::shared_ptr<CesiumUtility::CreditSystem>& pCreditSystem,
113 const std::shared_ptr<IPrepareRasterOverlayRendererResources>&
114 pPrepareRendererResources,
115 const std::shared_ptr<spdlog::logger>& pLogger,
117 const override;
118
119private:
120 static const std::string BING_LOGO_HTML;
121
122 std::string _url;
123 std::string _key;
124 std::string _mapStyle;
125 std::string _culture;
126};
127
128} // namespace CesiumRasterOverlays
A system for managing asynchronous requests and tasks.
Definition AsyncSystem.h:36
A value that will be available in the future, as produced by AsyncSystem.
Definition Promise.h:12
A RasterOverlay that uses Bing Maps as the source for the imagery data.
virtual CesiumAsync::Future< CreateTileProviderResult > createTileProvider(const CesiumAsync::AsyncSystem &asyncSystem, const std::shared_ptr< CesiumAsync::IAssetAccessor > &pAssetAccessor, const std::shared_ptr< CesiumUtility::CreditSystem > &pCreditSystem, const std::shared_ptr< IPrepareRasterOverlayRendererResources > &pPrepareRendererResources, const std::shared_ptr< spdlog::logger > &pLogger, CesiumUtility::IntrusivePointer< const RasterOverlay > pOwner) const override
Begins asynchronous creation of a tile provider for this overlay and eventually returns it via a Futu...
BingMapsRasterOverlay(const std::string &name, const std::string &url, const std::string &key, const std::string &mapStyle=BingMapsStyle::AERIAL, const std::string &culture="", const RasterOverlayOptions &overlayOptions={})
Creates a new instance.
The base class for a rasterized image that can be draped over a Cesium3DTilesSelection::Tileset....
A smart pointer that calls addReference and releaseReference on the controlled object.
Classes for raster overlays, which allow draping massive 2D textures over a model.
static const std::string ROAD
Roads without additional imagery.
static const std::string ORDNANCE_SURVEY
Ordnance Survey imagery.
static const std::string CANVAS_LIGHT
A lighter version of the road maps.
static const std::string CANVAS_GRAY
A grayscale version of the road maps.
static const std::string COLLINS_BART
Collins Bart imagery.
static const std::string AERIAL_WITH_LABELS
Aerial imagery with a road overlay.
static const std::string CANVAS_DARK
A dark version of the road maps.
static const std::string AERIAL
Aerial imagery.
static const std::string ROAD_ON_DEMAND
Roads without additional imagery.
static const std::string AERIAL_WITH_LABELS_ON_DEMAND
Aerial imagery with a road overlay.
Options for loading raster overlays.