@cesium/engine 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Build/Workers/{AttributeCompression-8a5a065e.js → AttributeCompression-f9f6c717.js} +1 -1
- package/Build/Workers/{AxisAlignedBoundingBox-a6f9f0e5.js → AxisAlignedBoundingBox-31fadcf0.js} +1 -1
- package/Build/Workers/{BoundingRectangle-b0a68595.js → BoundingRectangle-995f0079.js} +1 -1
- package/Build/Workers/{BoxGeometry-baedd794.js → BoxGeometry-7eb1af60.js} +1 -1
- package/Build/Workers/{Color-f85df1be.js → Color-2dc49658.js} +1 -1
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-30516950.js → CoplanarPolygonGeometryLibrary-d7d972d6.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-5d5d3b3a.js → CorridorGeometryLibrary-1f5ef7b3.js} +1 -1
- package/Build/Workers/{CylinderGeometry-d899ae26.js → CylinderGeometry-23c67a6c.js} +1 -1
- package/Build/Workers/{CylinderGeometryLibrary-135b0858.js → CylinderGeometryLibrary-7bf291b4.js} +1 -1
- package/Build/Workers/{EllipseGeometry-a49f8449.js → EllipseGeometry-37014da4.js} +1 -1
- package/Build/Workers/{EllipseGeometryLibrary-cba7edde.js → EllipseGeometryLibrary-92ab6b1e.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-8095c8cb.js → EllipseOutlineGeometry-12b6fef5.js} +1 -1
- package/Build/Workers/{EllipsoidGeodesic-dcff5cbd.js → EllipsoidGeodesic-5b3623dc.js} +1 -1
- package/Build/Workers/{EllipsoidGeometry-ed93f571.js → EllipsoidGeometry-508da15c.js} +1 -1
- package/Build/Workers/{EllipsoidOutlineGeometry-e4854854.js → EllipsoidOutlineGeometry-40d97455.js} +1 -1
- package/Build/Workers/{EllipsoidRhumbLine-b672d507.js → EllipsoidRhumbLine-ef872433.js} +1 -1
- package/Build/Workers/{EllipsoidTangentPlane-7ae1aa9a.js → EllipsoidTangentPlane-46d4d9c2.js} +1 -1
- package/Build/Workers/{EncodedCartesian3-e8bbca36.js → EncodedCartesian3-57415c8a.js} +1 -1
- package/Build/Workers/{FrustumGeometry-b62db3e3.js → FrustumGeometry-38605e69.js} +32 -4
- package/Build/Workers/{GeometryAttribute-780af4fa.js → GeometryAttribute-a466e9c7.js} +1 -1
- package/Build/Workers/{GeometryInstance-3fb607b7.js → GeometryInstance-34d9e21e.js} +1 -1
- package/Build/Workers/{GeometryPipeline-36b61c99.js → GeometryPipeline-dcf79306.js} +1 -1
- package/Build/Workers/{IndexDatatype-b8f3e09d.js → IndexDatatype-2643aa47.js} +1 -1
- package/Build/Workers/{IntersectionTests-e889fcf0.js → IntersectionTests-88c49b2e.js} +1 -1
- package/Build/Workers/{Math-dad82b4d.js → Math-0a2ac845.js} +12 -2
- package/Build/Workers/{Matrix2-1e403d0e.js → Matrix2-e1298525.js} +1 -1
- package/Build/Workers/{Matrix3-fa806b97.js → Matrix3-41c58dde.js} +1 -1
- package/Build/Workers/{OrientedBoundingBox-43478ac8.js → OrientedBoundingBox-2dd47921.js} +5 -3
- package/Build/Workers/{Plane-c27e1ac6.js → Plane-4c3d403b.js} +1 -1
- package/Build/Workers/{PolygonGeometryLibrary-38a98276.js → PolygonGeometryLibrary-59126025.js} +1 -1
- package/Build/Workers/PolygonPipeline-1fe328c0.js +1344 -0
- package/Build/Workers/{PolylinePipeline-30e4cec9.js → PolylinePipeline-896735cc.js} +1 -1
- package/Build/Workers/{PolylineVolumeGeometryLibrary-90551d26.js → PolylineVolumeGeometryLibrary-9c0639f7.js} +1 -1
- package/Build/Workers/{PrimitivePipeline-558d9cb0.js → PrimitivePipeline-fc1a47ff.js} +1 -1
- package/Build/Workers/{RectangleGeometryLibrary-815c68df.js → RectangleGeometryLibrary-a23c9ebe.js} +1 -1
- package/Build/Workers/{TerrainEncoding-341ead52.js → TerrainEncoding-51b8b33b.js} +1 -1
- package/Build/Workers/Transforms-bc45e707.js +14699 -0
- package/Build/Workers/{WallGeometryLibrary-ccf90976.js → WallGeometryLibrary-007e9883.js} +1 -1
- package/Build/Workers/{WebMercatorProjection-76a3fcc0.js → WebMercatorProjection-13ed1a6e.js} +1 -1
- package/Build/Workers/{arrayRemoveDuplicates-fac118a8.js → arrayRemoveDuplicates-d2061e85.js} +1 -1
- package/Build/Workers/cesiumWorkerBootstrapper.js +1 -1
- package/Build/Workers/combineGeometry.js +1 -1
- package/Build/Workers/createBoxGeometry.js +1 -1
- package/Build/Workers/createBoxOutlineGeometry.js +1 -1
- package/Build/Workers/createCircleGeometry.js +1 -1
- package/Build/Workers/createCircleOutlineGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonGeometry.js +1 -1
- package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createCorridorGeometry.js +1 -1
- package/Build/Workers/createCorridorOutlineGeometry.js +1 -1
- package/Build/Workers/createCylinderGeometry.js +1 -1
- package/Build/Workers/createCylinderOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipseGeometry.js +1 -1
- package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
- package/Build/Workers/createEllipsoidGeometry.js +1 -1
- package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
- package/Build/Workers/createFrustumGeometry.js +1 -1
- package/Build/Workers/createFrustumOutlineGeometry.js +1 -1
- package/Build/Workers/createGeometry.js +1 -1
- package/Build/Workers/createGroundPolylineGeometry.js +1 -1
- package/Build/Workers/createPlaneGeometry.js +1 -1
- package/Build/Workers/createPlaneOutlineGeometry.js +1 -1
- package/Build/Workers/createPolygonGeometry.js +1 -1
- package/Build/Workers/createPolygonOutlineGeometry.js +1 -1
- package/Build/Workers/createPolylineGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeGeometry.js +1 -1
- package/Build/Workers/createPolylineVolumeOutlineGeometry.js +1 -1
- package/Build/Workers/createRectangleGeometry.js +1 -1
- package/Build/Workers/createRectangleOutlineGeometry.js +1 -1
- package/Build/Workers/createSimplePolylineGeometry.js +1 -1
- package/Build/Workers/createSphereGeometry.js +1 -1
- package/Build/Workers/createSphereOutlineGeometry.js +1 -1
- package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
- package/Build/Workers/createVectorTileGeometries.js +1 -1
- package/Build/Workers/createVectorTilePoints.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVectorTilePolylines.js +1 -1
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Workers/createVerticesFromHeightmap.js +5 -8
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +10 -15
- package/Build/Workers/createWallGeometry.js +1 -1
- package/Build/Workers/createWallOutlineGeometry.js +1 -1
- package/Build/Workers/decodeDraco.js +1 -1
- package/Build/Workers/decodeI3S.js +1 -1
- package/Build/Workers/package.js +1 -1
- package/Build/Workers/transferTypedArrayTest.js +1 -1
- package/Build/Workers/upsampleQuantizedTerrainMesh.js +1 -1
- package/Source/Core/ArcGISTiledElevationTerrainProvider.js +291 -191
- package/Source/Core/BingMapsGeocoderService.js +19 -1
- package/Source/Core/CartographicGeocoderService.js +15 -0
- package/Source/Core/CesiumTerrainProvider.js +571 -434
- package/Source/Core/Credit.js +1 -1
- package/Source/Core/CustomHeightmapTerrainProvider.js +12 -0
- package/Source/Core/EllipsoidTerrainProvider.js +17 -10
- package/Source/Core/FrustumGeometry.js +4 -3
- package/Source/Core/GeocoderService.js +32 -1
- package/Source/Core/GoogleEarthEnterpriseMetadata.js +86 -34
- package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +119 -82
- package/Source/Core/Ion.js +1 -1
- package/Source/Core/IonGeocoderService.js +17 -2
- package/Source/Core/IonResource.js +14 -3
- package/Source/Core/OpenCageGeocoderService.js +18 -1
- package/Source/Core/OrientedBoundingBox.js +4 -2
- package/Source/Core/OrthographicFrustum.js +13 -0
- package/Source/Core/PeliasGeocoderService.js +14 -1
- package/Source/Core/PerspectiveFrustum.js +14 -0
- package/Source/Core/Request.js +3 -2
- package/Source/Core/RequestScheduler.js +10 -5
- package/Source/Core/Resource.js +230 -236
- package/Source/Core/TerrainProvider.js +9 -14
- package/Source/Core/TileProviderError.js +8 -8
- package/Source/Core/VRTheWorldTerrainProvider.js +193 -124
- package/Source/Core/buildModuleUrl.js +4 -3
- package/Source/Core/createWorldTerrain.js +20 -2
- package/Source/Core/createWorldTerrainAsync.js +48 -0
- package/Source/Core/sampleTerrain.js +9 -10
- package/Source/Core/sampleTerrainMostDetailed.js +66 -72
- package/Source/DataSources/Cesium3DTilesetVisualizer.js +37 -26
- package/Source/DataSources/DataSourceDisplay.js +2 -2
- package/Source/DataSources/Entity.js +6 -1
- package/Source/DataSources/EntityCluster.js +126 -128
- package/Source/DataSources/ModelVisualizer.js +104 -34
- package/Source/DataSources/PolygonGraphics.js +1 -1
- package/Source/Renderer/UniformState.js +3 -2
- package/Source/Renderer/demodernizeShader.js +5 -5
- package/Source/Scene/ArcGisBaseMapType.js +12 -0
- package/Source/Scene/ArcGisMapServerImageryProvider.js +694 -376
- package/Source/Scene/ArcGisMapService.js +83 -0
- package/Source/Scene/BingMapsImageryProvider.js +511 -305
- package/Source/Scene/BufferLoader.js +29 -34
- package/Source/Scene/Camera.js +8 -7
- package/Source/Scene/Cesium3DTile.js +392 -254
- package/Source/Scene/Cesium3DTileBatchTable.js +2 -2
- package/Source/Scene/Cesium3DTileContent.js +16 -0
- package/Source/Scene/Cesium3DTileContentFactory.js +4 -4
- package/Source/Scene/Cesium3DTilePass.js +8 -11
- package/Source/Scene/Cesium3DTileStyleEngine.js +1 -1
- package/Source/Scene/Cesium3DTilesVoxelProvider.js +225 -117
- package/Source/Scene/Cesium3DTileset.js +756 -482
- package/Source/Scene/Cesium3DTilesetBaseTraversal.js +301 -0
- package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +33 -46
- package/Source/Scene/Cesium3DTilesetSkipTraversal.js +421 -0
- package/Source/Scene/Cesium3DTilesetTraversal.js +219 -671
- package/Source/Scene/ClassificationPrimitive.js +7 -0
- package/Source/Scene/Composite3DTileContent.js +69 -26
- package/Source/Scene/CreditDisplay.js +132 -20
- package/Source/Scene/DepthPlane.js +1 -1
- package/Source/Scene/Empty3DTileContent.js +31 -1
- package/Source/Scene/Geometry3DTileContent.js +47 -7
- package/Source/Scene/Globe.js +5 -1
- package/Source/Scene/GlobeSurfaceTile.js +2 -1
- package/Source/Scene/GlobeSurfaceTileProvider.js +53 -30
- package/Source/Scene/GltfBufferViewLoader.js +47 -91
- package/Source/Scene/GltfDracoLoader.js +110 -112
- package/Source/Scene/GltfImageLoader.js +71 -78
- package/Source/Scene/GltfIndexBufferLoader.js +108 -121
- package/Source/Scene/GltfJsonLoader.js +87 -74
- package/Source/Scene/GltfLoader.js +381 -300
- package/Source/Scene/GltfStructuralMetadataLoader.js +109 -110
- package/Source/Scene/GltfTextureLoader.js +97 -96
- package/Source/Scene/GltfVertexBufferLoader.js +128 -133
- package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +353 -225
- package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +491 -331
- package/Source/Scene/GridImageryProvider.js +267 -104
- package/Source/Scene/GroundPolylinePrimitive.js +12 -1
- package/Source/Scene/GroundPrimitive.js +8 -1
- package/Source/Scene/I3SDataProvider.js +214 -113
- package/Source/Scene/I3SFeature.js +7 -6
- package/Source/Scene/I3SLayer.js +26 -37
- package/Source/Scene/I3SNode.js +59 -66
- package/Source/Scene/Imagery.js +6 -1
- package/Source/Scene/ImageryLayer.js +299 -48
- package/Source/Scene/ImageryLayerCollection.js +26 -0
- package/Source/Scene/ImageryProvider.js +129 -111
- package/Source/Scene/Implicit3DTileContent.js +72 -23
- package/Source/Scene/ImplicitSubtree.js +66 -45
- package/Source/Scene/IonImageryProvider.js +482 -275
- package/Source/Scene/MapboxImageryProvider.js +272 -112
- package/Source/Scene/MapboxStyleImageryProvider.js +270 -111
- package/Source/Scene/MetadataSchemaLoader.js +26 -36
- package/Source/Scene/Model/B3dmLoader.js +42 -46
- package/Source/Scene/Model/GeoJsonLoader.js +8 -32
- package/Source/Scene/Model/I3dmLoader.js +48 -74
- package/Source/Scene/Model/MaterialPipelineStage.js +12 -12
- package/Source/Scene/Model/Model.js +514 -135
- package/Source/Scene/Model/Model3DTileContent.js +83 -31
- package/Source/Scene/Model/ModelAnimationCollection.js +3 -3
- package/Source/Scene/Model/ModelDrawCommand.js +15 -26
- package/Source/Scene/Model/ModelUtility.js +16 -16
- package/Source/Scene/Model/PntsLoader.js +27 -32
- package/Source/Scene/Model/UniformType.js +1 -1
- package/Source/Scene/Multiple3DTileContent.js +134 -115
- package/Source/Scene/Picking.js +3 -2
- package/Source/Scene/PointCloud.js +11 -19
- package/Source/Scene/Primitive.js +20 -0
- package/Source/Scene/QuadtreePrimitive.js +5 -2
- package/Source/Scene/QuadtreeTileProvider.js +4 -8
- package/Source/Scene/ResourceCache.js +47 -105
- package/Source/Scene/ResourceCacheStatistics.js +24 -58
- package/Source/Scene/ResourceLoader.js +5 -17
- package/Source/Scene/ResourceLoaderState.js +12 -4
- package/Source/Scene/Scene.js +65 -0
- package/Source/Scene/SceneTransforms.js +3 -2
- package/Source/Scene/ScreenSpaceCameraController.js +2 -2
- package/Source/Scene/SingleTileImageryProvider.js +382 -209
- package/Source/Scene/Terrain.js +196 -0
- package/Source/Scene/TileCoordinatesImageryProvider.js +267 -104
- package/Source/Scene/TileMapServiceImageryProvider.js +177 -85
- package/Source/Scene/Tileset3DTileContent.js +47 -5
- package/Source/Scene/TimeDynamicPointCloud.js +15 -2
- package/Source/Scene/UrlTemplateImageryProvider.js +343 -215
- package/Source/Scene/Vector3DTileClampedPolylines.js +96 -84
- package/Source/Scene/Vector3DTileContent.js +47 -22
- package/Source/Scene/Vector3DTileGeometry.js +57 -52
- package/Source/Scene/Vector3DTilePoints.js +97 -81
- package/Source/Scene/Vector3DTilePolygons.js +118 -117
- package/Source/Scene/Vector3DTilePolylines.js +86 -82
- package/Source/Scene/Vector3DTilePrimitive.js +0 -1
- package/Source/Scene/VoxelContent.js +61 -63
- package/Source/Scene/VoxelPrimitive.js +39 -91
- package/Source/Scene/VoxelProvider.js +2 -2
- package/Source/Scene/WebMapServiceImageryProvider.js +272 -111
- package/Source/Scene/WebMapTileServiceImageryProvider.js +270 -107
- package/Source/Scene/computeFlyToLocationForRectangle.js +33 -37
- package/Source/Scene/createOsmBuildings.js +6 -0
- package/Source/Scene/createOsmBuildingsAsync.js +82 -0
- package/Source/Scene/createWorldImagery.js +14 -5
- package/Source/Scene/createWorldImageryAsync.js +39 -0
- package/Source/Shaders/AtmosphereCommon.glsl +51 -8
- package/Source/Shaders/AtmosphereCommon.js +51 -8
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +1 -1
- package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +1 -1
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.glsl +3 -3
- package/Source/Shaders/PostProcessStages/AmbientOcclusionModulate.js +3 -3
- package/Source/Widget/CesiumWidget.js +67 -27
- package/index.d.ts +2429 -1475
- package/index.js +324 -315
- package/package.json +4 -4
- package/Build/Workers/PolygonPipeline-d31ff61c.js +0 -1345
- package/Build/Workers/Transforms-9e9df299.js +0 -14714
|
@@ -3,7 +3,7 @@ import Check from "../Core/Check.js";
|
|
|
3
3
|
import Credit from "../Core/Credit.js";
|
|
4
4
|
import defaultValue from "../Core/defaultValue.js";
|
|
5
5
|
import defined from "../Core/defined.js";
|
|
6
|
-
import
|
|
6
|
+
import deprecationWarning from "../Core/deprecationWarning.js";
|
|
7
7
|
import Event from "../Core/Event.js";
|
|
8
8
|
import CesiumMath from "../Core/Math.js";
|
|
9
9
|
import Rectangle from "../Core/Rectangle.js";
|
|
@@ -20,8 +20,8 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
20
20
|
*
|
|
21
21
|
* Initialization options for the BingMapsImageryProvider constructor
|
|
22
22
|
*
|
|
23
|
-
* @property {Resource|string} url The url of the Bing Maps server hosting the imagery.
|
|
24
|
-
* @property {string} key The Bing Maps key for your application, which can be
|
|
23
|
+
* @property {Resource|string} [url] The url of the Bing Maps server hosting the imagery. Deprecated.
|
|
24
|
+
* @property {string} [key] The Bing Maps key for your application, which can be
|
|
25
25
|
* created at {@link https://www.bingmapsportal.com/}.
|
|
26
26
|
* @property {string} [tileProtocol] The protocol to use when loading tiles, e.g. 'http' or 'https'.
|
|
27
27
|
* By default, tiles are loaded using the same protocol as the page.
|
|
@@ -37,6 +37,140 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
37
37
|
*/
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
|
+
* Used to track creation details while fetching initial metadata
|
|
41
|
+
*
|
|
42
|
+
* @constructor
|
|
43
|
+
* @private
|
|
44
|
+
*
|
|
45
|
+
* @param {BingMapsImageryProvider.ConstructorOptions} options An object describing initialization options
|
|
46
|
+
*/
|
|
47
|
+
function ImageryProviderBuilder(options) {
|
|
48
|
+
this.tileWidth = undefined;
|
|
49
|
+
this.tileHeight = undefined;
|
|
50
|
+
this.maximumLevel = undefined;
|
|
51
|
+
this.imageUrlSubdomains = undefined;
|
|
52
|
+
this.imageUrlTemplate = undefined;
|
|
53
|
+
|
|
54
|
+
this.attributionList = undefined;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Complete BingMapsImageryProvider creation based on builder values.
|
|
59
|
+
*
|
|
60
|
+
* @private
|
|
61
|
+
*
|
|
62
|
+
* @param {BingMapsImageryProvider} provider
|
|
63
|
+
*/
|
|
64
|
+
ImageryProviderBuilder.prototype.build = function (provider) {
|
|
65
|
+
provider._tileWidth = this.tileWidth;
|
|
66
|
+
provider._tileHeight = this.tileHeight;
|
|
67
|
+
provider._maximumLevel = this.maximumLevel;
|
|
68
|
+
provider._imageUrlSubdomains = this.imageUrlSubdomains;
|
|
69
|
+
provider._imageUrlTemplate = this.imageUrlTemplate;
|
|
70
|
+
|
|
71
|
+
let attributionList = (provider._attributionList = this.attributionList);
|
|
72
|
+
if (!attributionList) {
|
|
73
|
+
attributionList = [];
|
|
74
|
+
}
|
|
75
|
+
provider._attributionList = attributionList;
|
|
76
|
+
|
|
77
|
+
for (
|
|
78
|
+
let attributionIndex = 0, attributionLength = attributionList.length;
|
|
79
|
+
attributionIndex < attributionLength;
|
|
80
|
+
++attributionIndex
|
|
81
|
+
) {
|
|
82
|
+
const attribution = attributionList[attributionIndex];
|
|
83
|
+
|
|
84
|
+
if (attribution.credit instanceof Credit) {
|
|
85
|
+
// If attribution.credit has already been created
|
|
86
|
+
// then we are using a cached value, which means
|
|
87
|
+
// none of the remaining processing needs to be done.
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
attribution.credit = new Credit(attribution.attribution);
|
|
92
|
+
const coverageAreas = attribution.coverageAreas;
|
|
93
|
+
|
|
94
|
+
for (
|
|
95
|
+
let areaIndex = 0, areaLength = attribution.coverageAreas.length;
|
|
96
|
+
areaIndex < areaLength;
|
|
97
|
+
++areaIndex
|
|
98
|
+
) {
|
|
99
|
+
const area = coverageAreas[areaIndex];
|
|
100
|
+
const bbox = area.bbox;
|
|
101
|
+
area.bbox = new Rectangle(
|
|
102
|
+
CesiumMath.toRadians(bbox[1]),
|
|
103
|
+
CesiumMath.toRadians(bbox[0]),
|
|
104
|
+
CesiumMath.toRadians(bbox[3]),
|
|
105
|
+
CesiumMath.toRadians(bbox[2])
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
provider._ready = true;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
function metadataSuccess(data, imageryProviderBuilder) {
|
|
114
|
+
if (data.resourceSets.length !== 1) {
|
|
115
|
+
throw new RuntimeError(
|
|
116
|
+
"metadata does not specify one resource in resourceSets"
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const resource = data.resourceSets[0].resources[0];
|
|
121
|
+
imageryProviderBuilder.tileWidth = resource.imageWidth;
|
|
122
|
+
imageryProviderBuilder.tileHeight = resource.imageHeight;
|
|
123
|
+
imageryProviderBuilder.maximumLevel = resource.zoomMax - 1;
|
|
124
|
+
imageryProviderBuilder.imageUrlSubdomains = resource.imageUrlSubdomains;
|
|
125
|
+
imageryProviderBuilder.imageUrlTemplate = resource.imageUrl;
|
|
126
|
+
imageryProviderBuilder.attributionList = resource.imageryProviders;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function metadataFailure(metadataResource, error, provider) {
|
|
130
|
+
let message = `An error occurred while accessing ${metadataResource.url}`;
|
|
131
|
+
if (defined(error) && defined(error.message)) {
|
|
132
|
+
message += `: ${error.message}`;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
TileProviderError.reportError(
|
|
136
|
+
undefined,
|
|
137
|
+
provider,
|
|
138
|
+
defined(provider) ? provider._errorEvent : undefined,
|
|
139
|
+
message,
|
|
140
|
+
undefined,
|
|
141
|
+
undefined,
|
|
142
|
+
undefined,
|
|
143
|
+
error
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
throw new RuntimeError(message);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
async function requestMetadata(
|
|
150
|
+
metadataResource,
|
|
151
|
+
imageryProviderBuilder,
|
|
152
|
+
provider
|
|
153
|
+
) {
|
|
154
|
+
const cacheKey = metadataResource.url;
|
|
155
|
+
let promise = BingMapsImageryProvider._metadataCache[cacheKey];
|
|
156
|
+
if (!defined(promise)) {
|
|
157
|
+
promise = metadataResource.fetchJsonp("jsonp");
|
|
158
|
+
BingMapsImageryProvider._metadataCache[cacheKey] = promise;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
try {
|
|
162
|
+
const data = await promise;
|
|
163
|
+
return metadataSuccess(data, imageryProviderBuilder);
|
|
164
|
+
} catch (e) {
|
|
165
|
+
metadataFailure(metadataResource, e, provider);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* <div class="notice">
|
|
171
|
+
* To construct a BingMapsImageryProvider, call {@link BingMapsImageryProvider.fromUrl}. Do not call the constructor directly.
|
|
172
|
+
* </div>
|
|
173
|
+
*
|
|
40
174
|
* Provides tiled imagery using the Bing Maps Imagery REST API.
|
|
41
175
|
*
|
|
42
176
|
* @alias BingMapsImageryProvider
|
|
@@ -44,6 +178,7 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
44
178
|
*
|
|
45
179
|
* @param {BingMapsImageryProvider.ConstructorOptions} options Object describing initialization options
|
|
46
180
|
*
|
|
181
|
+
* @see BingMapsImageryProvider.fromUrl
|
|
47
182
|
* @see ArcGisMapServerImageryProvider
|
|
48
183
|
* @see GoogleEarthEnterpriseMapsProvider
|
|
49
184
|
* @see OpenStreetMapImageryProvider
|
|
@@ -53,12 +188,11 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
53
188
|
* @see WebMapTileServiceImageryProvider
|
|
54
189
|
* @see UrlTemplateImageryProvider
|
|
55
190
|
*
|
|
56
|
-
*
|
|
57
191
|
* @example
|
|
58
|
-
* const bing =
|
|
59
|
-
*
|
|
60
|
-
* key
|
|
61
|
-
* mapStyle
|
|
192
|
+
* const bing = await Cesium.BingMapsImageryProvider.fromUrl(
|
|
193
|
+
* "https://dev.virtualearth.net", {
|
|
194
|
+
* key: "get-yours-at-https://www.bingmapsportal.com/",
|
|
195
|
+
* mapStyle: Cesium.BingMapsStyle.AERIAL
|
|
62
196
|
* });
|
|
63
197
|
*
|
|
64
198
|
* @see {@link http://msdn.microsoft.com/en-us/library/ff701713.aspx|Bing Maps REST Services}
|
|
@@ -66,109 +200,21 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
66
200
|
*/
|
|
67
201
|
function BingMapsImageryProvider(options) {
|
|
68
202
|
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
69
|
-
const accessKey = options.key;
|
|
70
|
-
|
|
71
|
-
//>>includeStart('debug', pragmas.debug);
|
|
72
|
-
if (!defined(options.url)) {
|
|
73
|
-
throw new DeveloperError("options.url is required.");
|
|
74
|
-
}
|
|
75
|
-
if (!defined(accessKey)) {
|
|
76
|
-
throw new DeveloperError("options.key is required.");
|
|
77
|
-
}
|
|
78
|
-
//>>includeEnd('debug');
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* The default alpha blending value of this provider, with 0.0 representing fully transparent and
|
|
82
|
-
* 1.0 representing fully opaque.
|
|
83
|
-
*
|
|
84
|
-
* @type {number|undefined}
|
|
85
|
-
* @default undefined
|
|
86
|
-
*/
|
|
87
|
-
this.defaultAlpha = undefined;
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
|
|
91
|
-
* 1.0 representing fully opaque.
|
|
92
|
-
*
|
|
93
|
-
* @type {number|undefined}
|
|
94
|
-
* @default undefined
|
|
95
|
-
*/
|
|
96
|
-
this.defaultNightAlpha = undefined;
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
|
|
100
|
-
* 1.0 representing fully opaque.
|
|
101
|
-
*
|
|
102
|
-
* @type {number|undefined}
|
|
103
|
-
* @default undefined
|
|
104
|
-
*/
|
|
105
|
-
this.defaultDayAlpha = undefined;
|
|
106
203
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
this.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
* The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
|
|
118
|
-
* the contrast while greater than 1.0 increases it.
|
|
119
|
-
*
|
|
120
|
-
* @type {number|undefined}
|
|
121
|
-
* @default undefined
|
|
122
|
-
*/
|
|
123
|
-
this.defaultContrast = undefined;
|
|
204
|
+
this._defaultAlpha = undefined;
|
|
205
|
+
this._defaultNightAlpha = undefined;
|
|
206
|
+
this._defaultDayAlpha = undefined;
|
|
207
|
+
this._defaultBrightness = undefined;
|
|
208
|
+
this._defaultContrast = undefined;
|
|
209
|
+
this._defaultHue = undefined;
|
|
210
|
+
this._defaultSaturation = undefined;
|
|
211
|
+
this._defaultGamma = 1.0;
|
|
212
|
+
this._defaultMinificationFilter = undefined;
|
|
213
|
+
this._defaultMagnificationFilter = undefined;
|
|
124
214
|
|
|
125
|
-
/**
|
|
126
|
-
* The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
|
|
127
|
-
*
|
|
128
|
-
* @type {number|undefined}
|
|
129
|
-
* @default undefined
|
|
130
|
-
*/
|
|
131
|
-
this.defaultHue = undefined;
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
|
|
135
|
-
* saturation while greater than 1.0 increases it.
|
|
136
|
-
*
|
|
137
|
-
* @type {number|undefined}
|
|
138
|
-
* @default undefined
|
|
139
|
-
*/
|
|
140
|
-
this.defaultSaturation = undefined;
|
|
141
|
-
|
|
142
|
-
/**
|
|
143
|
-
* The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
|
|
144
|
-
*
|
|
145
|
-
* @type {number|undefined}
|
|
146
|
-
* @default 1.0
|
|
147
|
-
*/
|
|
148
|
-
this.defaultGamma = 1.0;
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* The default texture minification filter to apply to this provider.
|
|
152
|
-
*
|
|
153
|
-
* @type {TextureMinificationFilter}
|
|
154
|
-
* @default undefined
|
|
155
|
-
*/
|
|
156
|
-
this.defaultMinificationFilter = undefined;
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* The default texture magnification filter to apply to this provider.
|
|
160
|
-
*
|
|
161
|
-
* @type {TextureMagnificationFilter}
|
|
162
|
-
* @default undefined
|
|
163
|
-
*/
|
|
164
|
-
this.defaultMagnificationFilter = undefined;
|
|
165
|
-
|
|
166
|
-
this._key = accessKey;
|
|
167
|
-
this._resource = Resource.createIfNeeded(options.url);
|
|
168
|
-
this._resource.appendForwardSlash();
|
|
169
|
-
this._tileProtocol = options.tileProtocol;
|
|
170
215
|
this._mapStyle = defaultValue(options.mapStyle, BingMapsStyle.AERIAL);
|
|
171
216
|
this._culture = defaultValue(options.culture, "");
|
|
217
|
+
this._key = options.key;
|
|
172
218
|
|
|
173
219
|
this._tileDiscardPolicy = options.tileDiscardPolicy;
|
|
174
220
|
if (!defined(this._tileDiscardPolicy)) {
|
|
@@ -191,123 +237,59 @@ function BingMapsImageryProvider(options) {
|
|
|
191
237
|
this._maximumLevel = undefined;
|
|
192
238
|
this._imageUrlTemplate = undefined;
|
|
193
239
|
this._imageUrlSubdomains = undefined;
|
|
240
|
+
this._attributionList = undefined;
|
|
194
241
|
|
|
195
242
|
this._errorEvent = new Event();
|
|
196
243
|
|
|
197
244
|
this._ready = false;
|
|
245
|
+
if (defined(options.url)) {
|
|
246
|
+
deprecationWarning(
|
|
247
|
+
"BingMapsImageryProvider options.url",
|
|
248
|
+
"options.url was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."
|
|
249
|
+
);
|
|
198
250
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
// a `:`. Remove it.
|
|
203
|
-
if (defined(tileProtocol)) {
|
|
204
|
-
if (
|
|
205
|
-
tileProtocol.length > 0 &&
|
|
206
|
-
tileProtocol[tileProtocol.length - 1] === ":"
|
|
207
|
-
) {
|
|
208
|
-
tileProtocol = tileProtocol.substr(0, tileProtocol.length - 1);
|
|
209
|
-
}
|
|
210
|
-
} else {
|
|
211
|
-
// use http if the document's protocol is http, otherwise use https
|
|
212
|
-
const documentProtocol = document.location.protocol;
|
|
213
|
-
tileProtocol = documentProtocol === "http:" ? "http" : "https";
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
const metadataResource = this._resource.getDerivedResource({
|
|
217
|
-
url: `REST/v1/Imagery/Metadata/${this._mapStyle}`,
|
|
218
|
-
queryParameters: {
|
|
219
|
-
incl: "ImageryProviders",
|
|
220
|
-
key: this._key,
|
|
221
|
-
uriScheme: tileProtocol,
|
|
222
|
-
},
|
|
223
|
-
});
|
|
224
|
-
const that = this;
|
|
225
|
-
let metadataError;
|
|
226
|
-
|
|
227
|
-
function metadataSuccess(data) {
|
|
228
|
-
if (data.resourceSets.length !== 1) {
|
|
229
|
-
return metadataFailure();
|
|
230
|
-
}
|
|
231
|
-
const resource = data.resourceSets[0].resources[0];
|
|
232
|
-
|
|
233
|
-
that._tileWidth = resource.imageWidth;
|
|
234
|
-
that._tileHeight = resource.imageHeight;
|
|
235
|
-
that._maximumLevel = resource.zoomMax - 1;
|
|
236
|
-
that._imageUrlSubdomains = resource.imageUrlSubdomains;
|
|
237
|
-
that._imageUrlTemplate = resource.imageUrl;
|
|
238
|
-
|
|
239
|
-
let attributionList = (that._attributionList = resource.imageryProviders);
|
|
240
|
-
if (!attributionList) {
|
|
241
|
-
attributionList = that._attributionList = [];
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
for (
|
|
245
|
-
let attributionIndex = 0, attributionLength = attributionList.length;
|
|
246
|
-
attributionIndex < attributionLength;
|
|
247
|
-
++attributionIndex
|
|
248
|
-
) {
|
|
249
|
-
const attribution = attributionList[attributionIndex];
|
|
250
|
-
|
|
251
|
-
if (attribution.credit instanceof Credit) {
|
|
252
|
-
// If attribution.credit has already been created
|
|
253
|
-
// then we are using a cached value, which means
|
|
254
|
-
// none of the remaining processing needs to be done.
|
|
255
|
-
break;
|
|
256
|
-
}
|
|
251
|
+
//>>includeStart('debug', pragmas.debug);
|
|
252
|
+
Check.defined("options.key", options.key);
|
|
253
|
+
//>>includeEnd('debug');
|
|
257
254
|
|
|
258
|
-
|
|
259
|
-
const coverageAreas = attribution.coverageAreas;
|
|
255
|
+
let tileProtocol = options.tileProtocol;
|
|
260
256
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
257
|
+
// For backward compatibility reasons, the tileProtocol may end with
|
|
258
|
+
// a `:`. Remove it.
|
|
259
|
+
if (defined(tileProtocol)) {
|
|
260
|
+
if (
|
|
261
|
+
tileProtocol.length > 0 &&
|
|
262
|
+
tileProtocol[tileProtocol.length - 1] === ":"
|
|
265
263
|
) {
|
|
266
|
-
|
|
267
|
-
const bbox = area.bbox;
|
|
268
|
-
area.bbox = new Rectangle(
|
|
269
|
-
CesiumMath.toRadians(bbox[1]),
|
|
270
|
-
CesiumMath.toRadians(bbox[0]),
|
|
271
|
-
CesiumMath.toRadians(bbox[3]),
|
|
272
|
-
CesiumMath.toRadians(bbox[2])
|
|
273
|
-
);
|
|
264
|
+
tileProtocol = tileProtocol.substr(0, tileProtocol.length - 1);
|
|
274
265
|
}
|
|
266
|
+
} else {
|
|
267
|
+
// use http if the document's protocol is http, otherwise use https
|
|
268
|
+
const documentProtocol = document.location.protocol;
|
|
269
|
+
tileProtocol = documentProtocol === "http:" ? "http" : "https";
|
|
275
270
|
}
|
|
276
271
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
message,
|
|
289
|
-
undefined,
|
|
290
|
-
undefined,
|
|
291
|
-
undefined
|
|
292
|
-
);
|
|
293
|
-
if (metadataError.retry) {
|
|
294
|
-
return requestMetadata();
|
|
295
|
-
}
|
|
296
|
-
return Promise.reject(new RuntimeError(message));
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
const cacheKey = metadataResource.url;
|
|
300
|
-
function requestMetadata() {
|
|
301
|
-
const promise = metadataResource.fetchJsonp("jsonp");
|
|
302
|
-
BingMapsImageryProvider._metadataCache[cacheKey] = promise;
|
|
303
|
-
return promise.then(metadataSuccess).catch(metadataFailure);
|
|
304
|
-
}
|
|
272
|
+
const resource = Resource.createIfNeeded(options.url);
|
|
273
|
+
this._resource = resource;
|
|
274
|
+
resource.appendForwardSlash();
|
|
275
|
+
const metadataResource = resource.getDerivedResource({
|
|
276
|
+
url: `REST/v1/Imagery/Metadata/${this._mapStyle}`,
|
|
277
|
+
queryParameters: {
|
|
278
|
+
incl: "ImageryProviders",
|
|
279
|
+
key: options.key,
|
|
280
|
+
uriScheme: tileProtocol,
|
|
281
|
+
},
|
|
282
|
+
});
|
|
305
283
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
284
|
+
const imageryProviderBuilder = new ImageryProviderBuilder(options);
|
|
285
|
+
this._readyPromise = requestMetadata(
|
|
286
|
+
metadataResource,
|
|
287
|
+
imageryProviderBuilder,
|
|
288
|
+
this
|
|
289
|
+
).then(() => {
|
|
290
|
+
imageryProviderBuilder.build(this);
|
|
291
|
+
return true;
|
|
292
|
+
});
|
|
311
293
|
}
|
|
312
294
|
}
|
|
313
295
|
|
|
@@ -375,127 +357,73 @@ Object.defineProperties(BingMapsImageryProvider.prototype, {
|
|
|
375
357
|
},
|
|
376
358
|
|
|
377
359
|
/**
|
|
378
|
-
* Gets the width of each tile, in pixels.
|
|
379
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
360
|
+
* Gets the width of each tile, in pixels.
|
|
380
361
|
* @memberof BingMapsImageryProvider.prototype
|
|
381
362
|
* @type {number}
|
|
382
363
|
* @readonly
|
|
383
364
|
*/
|
|
384
365
|
tileWidth: {
|
|
385
366
|
get: function () {
|
|
386
|
-
//>>includeStart('debug', pragmas.debug);
|
|
387
|
-
if (!this._ready) {
|
|
388
|
-
throw new DeveloperError(
|
|
389
|
-
"tileWidth must not be called before the imagery provider is ready."
|
|
390
|
-
);
|
|
391
|
-
}
|
|
392
|
-
//>>includeEnd('debug');
|
|
393
|
-
|
|
394
367
|
return this._tileWidth;
|
|
395
368
|
},
|
|
396
369
|
},
|
|
397
370
|
|
|
398
371
|
/**
|
|
399
|
-
* Gets the height of each tile, in pixels.
|
|
400
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
372
|
+
* Gets the height of each tile, in pixels.
|
|
401
373
|
* @memberof BingMapsImageryProvider.prototype
|
|
402
374
|
* @type {number}
|
|
403
375
|
* @readonly
|
|
404
376
|
*/
|
|
405
377
|
tileHeight: {
|
|
406
378
|
get: function () {
|
|
407
|
-
//>>includeStart('debug', pragmas.debug);
|
|
408
|
-
if (!this._ready) {
|
|
409
|
-
throw new DeveloperError(
|
|
410
|
-
"tileHeight must not be called before the imagery provider is ready."
|
|
411
|
-
);
|
|
412
|
-
}
|
|
413
|
-
//>>includeEnd('debug');
|
|
414
|
-
|
|
415
379
|
return this._tileHeight;
|
|
416
380
|
},
|
|
417
381
|
},
|
|
418
382
|
|
|
419
383
|
/**
|
|
420
|
-
* Gets the maximum level-of-detail that can be requested.
|
|
421
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
384
|
+
* Gets the maximum level-of-detail that can be requested.
|
|
422
385
|
* @memberof BingMapsImageryProvider.prototype
|
|
423
386
|
* @type {number|undefined}
|
|
424
387
|
* @readonly
|
|
425
388
|
*/
|
|
426
389
|
maximumLevel: {
|
|
427
390
|
get: function () {
|
|
428
|
-
//>>includeStart('debug', pragmas.debug);
|
|
429
|
-
if (!this._ready) {
|
|
430
|
-
throw new DeveloperError(
|
|
431
|
-
"maximumLevel must not be called before the imagery provider is ready."
|
|
432
|
-
);
|
|
433
|
-
}
|
|
434
|
-
//>>includeEnd('debug');
|
|
435
|
-
|
|
436
391
|
return this._maximumLevel;
|
|
437
392
|
},
|
|
438
393
|
},
|
|
439
394
|
|
|
440
395
|
/**
|
|
441
|
-
* Gets the minimum level-of-detail that can be requested.
|
|
442
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
396
|
+
* Gets the minimum level-of-detail that can be requested.
|
|
443
397
|
* @memberof BingMapsImageryProvider.prototype
|
|
444
398
|
* @type {number}
|
|
445
399
|
* @readonly
|
|
446
400
|
*/
|
|
447
401
|
minimumLevel: {
|
|
448
402
|
get: function () {
|
|
449
|
-
//>>includeStart('debug', pragmas.debug);
|
|
450
|
-
if (!this._ready) {
|
|
451
|
-
throw new DeveloperError(
|
|
452
|
-
"minimumLevel must not be called before the imagery provider is ready."
|
|
453
|
-
);
|
|
454
|
-
}
|
|
455
|
-
//>>includeEnd('debug');
|
|
456
|
-
|
|
457
403
|
return 0;
|
|
458
404
|
},
|
|
459
405
|
},
|
|
460
406
|
|
|
461
407
|
/**
|
|
462
|
-
* Gets the tiling scheme used by this provider.
|
|
463
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
408
|
+
* Gets the tiling scheme used by this provider.
|
|
464
409
|
* @memberof BingMapsImageryProvider.prototype
|
|
465
410
|
* @type {TilingScheme}
|
|
466
411
|
* @readonly
|
|
467
412
|
*/
|
|
468
413
|
tilingScheme: {
|
|
469
414
|
get: function () {
|
|
470
|
-
//>>includeStart('debug', pragmas.debug);
|
|
471
|
-
if (!this._ready) {
|
|
472
|
-
throw new DeveloperError(
|
|
473
|
-
"tilingScheme must not be called before the imagery provider is ready."
|
|
474
|
-
);
|
|
475
|
-
}
|
|
476
|
-
//>>includeEnd('debug');
|
|
477
|
-
|
|
478
415
|
return this._tilingScheme;
|
|
479
416
|
},
|
|
480
417
|
},
|
|
481
418
|
|
|
482
419
|
/**
|
|
483
|
-
* Gets the rectangle, in radians, of the imagery provided by this instance.
|
|
484
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
420
|
+
* Gets the rectangle, in radians, of the imagery provided by this instance.
|
|
485
421
|
* @memberof BingMapsImageryProvider.prototype
|
|
486
422
|
* @type {Rectangle}
|
|
487
423
|
* @readonly
|
|
488
424
|
*/
|
|
489
425
|
rectangle: {
|
|
490
426
|
get: function () {
|
|
491
|
-
//>>includeStart('debug', pragmas.debug);
|
|
492
|
-
if (!this._ready) {
|
|
493
|
-
throw new DeveloperError(
|
|
494
|
-
"rectangle must not be called before the imagery provider is ready."
|
|
495
|
-
);
|
|
496
|
-
}
|
|
497
|
-
//>>includeEnd('debug');
|
|
498
|
-
|
|
499
427
|
return this._tilingScheme.rectangle;
|
|
500
428
|
},
|
|
501
429
|
},
|
|
@@ -503,22 +431,13 @@ Object.defineProperties(BingMapsImageryProvider.prototype, {
|
|
|
503
431
|
/**
|
|
504
432
|
* Gets the tile discard policy. If not undefined, the discard policy is responsible
|
|
505
433
|
* for filtering out "missing" tiles via its shouldDiscardImage function. If this function
|
|
506
|
-
* returns undefined, no tiles are filtered.
|
|
507
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
434
|
+
* returns undefined, no tiles are filtered.
|
|
508
435
|
* @memberof BingMapsImageryProvider.prototype
|
|
509
436
|
* @type {TileDiscardPolicy}
|
|
510
437
|
* @readonly
|
|
511
438
|
*/
|
|
512
439
|
tileDiscardPolicy: {
|
|
513
440
|
get: function () {
|
|
514
|
-
//>>includeStart('debug', pragmas.debug);
|
|
515
|
-
if (!this._ready) {
|
|
516
|
-
throw new DeveloperError(
|
|
517
|
-
"tileDiscardPolicy must not be called before the imagery provider is ready."
|
|
518
|
-
);
|
|
519
|
-
}
|
|
520
|
-
//>>includeEnd('debug');
|
|
521
|
-
|
|
522
441
|
return this._tileDiscardPolicy;
|
|
523
442
|
},
|
|
524
443
|
},
|
|
@@ -542,9 +461,14 @@ Object.defineProperties(BingMapsImageryProvider.prototype, {
|
|
|
542
461
|
* @memberof BingMapsImageryProvider.prototype
|
|
543
462
|
* @type {boolean}
|
|
544
463
|
* @readonly
|
|
464
|
+
* @deprecated
|
|
545
465
|
*/
|
|
546
466
|
ready: {
|
|
547
467
|
get: function () {
|
|
468
|
+
deprecationWarning(
|
|
469
|
+
"BingMapsImageryProvider.ready",
|
|
470
|
+
"BingMapsImageryProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."
|
|
471
|
+
);
|
|
548
472
|
return this._ready;
|
|
549
473
|
},
|
|
550
474
|
},
|
|
@@ -554,16 +478,21 @@ Object.defineProperties(BingMapsImageryProvider.prototype, {
|
|
|
554
478
|
* @memberof BingMapsImageryProvider.prototype
|
|
555
479
|
* @type {Promise<boolean>}
|
|
556
480
|
* @readonly
|
|
481
|
+
* @deprecated
|
|
557
482
|
*/
|
|
558
483
|
readyPromise: {
|
|
559
484
|
get: function () {
|
|
485
|
+
deprecationWarning(
|
|
486
|
+
"BingMapsImageryProvider.readyPromise",
|
|
487
|
+
"BingMapsImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use BingMapsImageryProvider.fromUrl instead."
|
|
488
|
+
);
|
|
560
489
|
return this._readyPromise;
|
|
561
490
|
},
|
|
562
491
|
},
|
|
563
492
|
|
|
564
493
|
/**
|
|
565
494
|
* Gets the credit to display when this imagery provider is active. Typically this is used to credit
|
|
566
|
-
* the source of the imagery.
|
|
495
|
+
* the source of the imagery.
|
|
567
496
|
* @memberof BingMapsImageryProvider.prototype
|
|
568
497
|
* @type {Credit}
|
|
569
498
|
* @readonly
|
|
@@ -589,8 +518,306 @@ Object.defineProperties(BingMapsImageryProvider.prototype, {
|
|
|
589
518
|
return false;
|
|
590
519
|
},
|
|
591
520
|
},
|
|
521
|
+
|
|
522
|
+
/**
|
|
523
|
+
* The default alpha blending value of this provider, with 0.0 representing fully transparent and
|
|
524
|
+
* 1.0 representing fully opaque.
|
|
525
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
526
|
+
* @type {Number|undefined}
|
|
527
|
+
* @deprecated
|
|
528
|
+
*/
|
|
529
|
+
defaultAlpha: {
|
|
530
|
+
get: function () {
|
|
531
|
+
deprecationWarning(
|
|
532
|
+
"BingMapsImageryProvider.defaultAlpha",
|
|
533
|
+
"BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
|
|
534
|
+
);
|
|
535
|
+
return this._defaultAlpha;
|
|
536
|
+
},
|
|
537
|
+
set: function (value) {
|
|
538
|
+
deprecationWarning(
|
|
539
|
+
"BingMapsImageryProvider.defaultAlpha",
|
|
540
|
+
"BingMapsImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
|
|
541
|
+
);
|
|
542
|
+
this._defaultAlpha = value;
|
|
543
|
+
},
|
|
544
|
+
},
|
|
545
|
+
|
|
546
|
+
/**
|
|
547
|
+
* The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
|
|
548
|
+
* 1.0 representing fully opaque.
|
|
549
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
550
|
+
* @type {Number|undefined}
|
|
551
|
+
* @deprecated
|
|
552
|
+
*/
|
|
553
|
+
defaultNightAlpha: {
|
|
554
|
+
get: function () {
|
|
555
|
+
deprecationWarning(
|
|
556
|
+
"BingMapsImageryProvider.defaultNightAlpha",
|
|
557
|
+
"BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
|
|
558
|
+
);
|
|
559
|
+
return this.defaultNightAlpha;
|
|
560
|
+
},
|
|
561
|
+
set: function (value) {
|
|
562
|
+
deprecationWarning(
|
|
563
|
+
"BingMapsImageryProvider.defaultNightAlpha",
|
|
564
|
+
"BingMapsImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
|
|
565
|
+
);
|
|
566
|
+
this.defaultNightAlpha = value;
|
|
567
|
+
},
|
|
568
|
+
},
|
|
569
|
+
|
|
570
|
+
/**
|
|
571
|
+
* The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
|
|
572
|
+
* 1.0 representing fully opaque.
|
|
573
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
574
|
+
* @type {Number|undefined}
|
|
575
|
+
* @deprecated
|
|
576
|
+
*/
|
|
577
|
+
defaultDayAlpha: {
|
|
578
|
+
get: function () {
|
|
579
|
+
deprecationWarning(
|
|
580
|
+
"BingMapsImageryProvider.defaultDayAlpha",
|
|
581
|
+
"BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
|
|
582
|
+
);
|
|
583
|
+
return this._defaultDayAlpha;
|
|
584
|
+
},
|
|
585
|
+
set: function (value) {
|
|
586
|
+
deprecationWarning(
|
|
587
|
+
"BingMapsImageryProvider.defaultDayAlpha",
|
|
588
|
+
"BingMapsImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
|
|
589
|
+
);
|
|
590
|
+
this._defaultDayAlpha = value;
|
|
591
|
+
},
|
|
592
|
+
},
|
|
593
|
+
|
|
594
|
+
/**
|
|
595
|
+
* The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
|
|
596
|
+
* makes the imagery darker while greater than 1.0 makes it brighter.
|
|
597
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
598
|
+
* @type {Number|undefined}
|
|
599
|
+
* @deprecated
|
|
600
|
+
*/
|
|
601
|
+
defaultBrightness: {
|
|
602
|
+
get: function () {
|
|
603
|
+
deprecationWarning(
|
|
604
|
+
"BingMapsImageryProvider.defaultBrightness",
|
|
605
|
+
"BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
|
|
606
|
+
);
|
|
607
|
+
return this._defaultBrightness;
|
|
608
|
+
},
|
|
609
|
+
set: function (value) {
|
|
610
|
+
deprecationWarning(
|
|
611
|
+
"BingMapsImageryProvider.defaultBrightness",
|
|
612
|
+
"BingMapsImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
|
|
613
|
+
);
|
|
614
|
+
this._defaultBrightness = value;
|
|
615
|
+
},
|
|
616
|
+
},
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
|
|
620
|
+
* the contrast while greater than 1.0 increases it.
|
|
621
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
622
|
+
* @type {Number|undefined}
|
|
623
|
+
* @deprecated
|
|
624
|
+
*/
|
|
625
|
+
defaultContrast: {
|
|
626
|
+
get: function () {
|
|
627
|
+
deprecationWarning(
|
|
628
|
+
"BingMapsImageryProvider.defaultContrast",
|
|
629
|
+
"BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
|
|
630
|
+
);
|
|
631
|
+
return this._defaultContrast;
|
|
632
|
+
},
|
|
633
|
+
set: function (value) {
|
|
634
|
+
deprecationWarning(
|
|
635
|
+
"BingMapsImageryProvider.defaultContrast",
|
|
636
|
+
"BingMapsImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
|
|
637
|
+
);
|
|
638
|
+
this._defaultContrast = value;
|
|
639
|
+
},
|
|
640
|
+
},
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
|
|
644
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
645
|
+
* @type {Number|undefined}
|
|
646
|
+
* @deprecated
|
|
647
|
+
*/
|
|
648
|
+
defaultHue: {
|
|
649
|
+
get: function () {
|
|
650
|
+
deprecationWarning(
|
|
651
|
+
"BingMapsImageryProvider.defaultHue",
|
|
652
|
+
"BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
|
|
653
|
+
);
|
|
654
|
+
return this._defaultHue;
|
|
655
|
+
},
|
|
656
|
+
set: function (value) {
|
|
657
|
+
deprecationWarning(
|
|
658
|
+
"BingMapsImageryProvider.defaultHue",
|
|
659
|
+
"BingMapsImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
|
|
660
|
+
);
|
|
661
|
+
this._defaultHue = value;
|
|
662
|
+
},
|
|
663
|
+
},
|
|
664
|
+
|
|
665
|
+
/**
|
|
666
|
+
* The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
|
|
667
|
+
* saturation while greater than 1.0 increases it.
|
|
668
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
669
|
+
* @type {Number|undefined}
|
|
670
|
+
* @deprecated
|
|
671
|
+
*/
|
|
672
|
+
defaultSaturation: {
|
|
673
|
+
get: function () {
|
|
674
|
+
deprecationWarning(
|
|
675
|
+
"BingMapsImageryProvider.defaultSaturation",
|
|
676
|
+
"BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
|
|
677
|
+
);
|
|
678
|
+
return this._defaultSaturation;
|
|
679
|
+
},
|
|
680
|
+
set: function (value) {
|
|
681
|
+
deprecationWarning(
|
|
682
|
+
"BingMapsImageryProvider.defaultSaturation",
|
|
683
|
+
"BingMapsImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
|
|
684
|
+
);
|
|
685
|
+
this._defaultSaturation = value;
|
|
686
|
+
},
|
|
687
|
+
},
|
|
688
|
+
|
|
689
|
+
/**
|
|
690
|
+
* The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
|
|
691
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
692
|
+
* @type {Number|undefined}
|
|
693
|
+
* @deprecated
|
|
694
|
+
*/
|
|
695
|
+
defaultGamma: {
|
|
696
|
+
get: function () {
|
|
697
|
+
deprecationWarning(
|
|
698
|
+
"BingMapsImageryProvider.defaultGamma",
|
|
699
|
+
"BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
|
|
700
|
+
);
|
|
701
|
+
return this._defaultGamma;
|
|
702
|
+
},
|
|
703
|
+
set: function (value) {
|
|
704
|
+
deprecationWarning(
|
|
705
|
+
"BingMapsImageryProvider.defaultGamma",
|
|
706
|
+
"BingMapsImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
|
|
707
|
+
);
|
|
708
|
+
this._defaultGamma = value;
|
|
709
|
+
},
|
|
710
|
+
},
|
|
711
|
+
|
|
712
|
+
/**
|
|
713
|
+
* The default texture minification filter to apply to this provider.
|
|
714
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
715
|
+
* @type {TextureMinificationFilter}
|
|
716
|
+
* @deprecated
|
|
717
|
+
*/
|
|
718
|
+
defaultMinificationFilter: {
|
|
719
|
+
get: function () {
|
|
720
|
+
deprecationWarning(
|
|
721
|
+
"BingMapsImageryProvider.defaultMinificationFilter",
|
|
722
|
+
"BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
|
|
723
|
+
);
|
|
724
|
+
return this._defaultMinificationFilter;
|
|
725
|
+
},
|
|
726
|
+
set: function (value) {
|
|
727
|
+
deprecationWarning(
|
|
728
|
+
"BingMapsImageryProvider.defaultMinificationFilter",
|
|
729
|
+
"BingMapsImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
|
|
730
|
+
);
|
|
731
|
+
this._defaultMinificationFilter = value;
|
|
732
|
+
},
|
|
733
|
+
},
|
|
734
|
+
|
|
735
|
+
/**
|
|
736
|
+
* The default texture magnification filter to apply to this provider.
|
|
737
|
+
* @memberof BingMapsImageryProvider.prototype
|
|
738
|
+
* @type {TextureMagnificationFilter}
|
|
739
|
+
* @deprecated
|
|
740
|
+
*/
|
|
741
|
+
defaultMagnificationFilter: {
|
|
742
|
+
get: function () {
|
|
743
|
+
deprecationWarning(
|
|
744
|
+
"BingMapsImageryProvider.defaultMagnificationFilter",
|
|
745
|
+
"BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
|
|
746
|
+
);
|
|
747
|
+
return this._defaultMagnificationFilter;
|
|
748
|
+
},
|
|
749
|
+
set: function (value) {
|
|
750
|
+
deprecationWarning(
|
|
751
|
+
"BingMapsImageryProvider.defaultMagnificationFilter",
|
|
752
|
+
"BingMapsImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
|
|
753
|
+
);
|
|
754
|
+
this._defaultMagnificationFilter = value;
|
|
755
|
+
},
|
|
756
|
+
},
|
|
592
757
|
});
|
|
593
758
|
|
|
759
|
+
/**
|
|
760
|
+
* Creates an {@link ImageryProvider} which provides tiled imagery using the Bing Maps Imagery REST API.
|
|
761
|
+
*
|
|
762
|
+
* @param {Resource|String} url The url of the Bing Maps server hosting the imagery.
|
|
763
|
+
* @param {BingMapsImageryProvider.ConstructorOptions} options Object describing initialization options
|
|
764
|
+
* @returns {Promise<BingMapsImageryProvider>} A promise that resolves to the created BingMapsImageryProvider
|
|
765
|
+
*
|
|
766
|
+
* @example
|
|
767
|
+
* const bing = await Cesium.BingMapsImageryProvider.fromUrl(
|
|
768
|
+
* "https://dev.virtualearth.net", {
|
|
769
|
+
* key: "get-yours-at-https://www.bingmapsportal.com/",
|
|
770
|
+
* mapStyle: Cesium.BingMapsStyle.AERIAL
|
|
771
|
+
* });
|
|
772
|
+
*
|
|
773
|
+
* @exception {RuntimeError} metadata does not specify one resource in resourceSets
|
|
774
|
+
*/
|
|
775
|
+
BingMapsImageryProvider.fromUrl = async function (url, options) {
|
|
776
|
+
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
777
|
+
|
|
778
|
+
//>>includeStart('debug', pragmas.debug);
|
|
779
|
+
Check.defined("url", url);
|
|
780
|
+
Check.defined("options.key", options.key);
|
|
781
|
+
//>>includeEnd('debug');
|
|
782
|
+
|
|
783
|
+
let tileProtocol = options.tileProtocol;
|
|
784
|
+
|
|
785
|
+
// For backward compatibility reasons, the tileProtocol may end with
|
|
786
|
+
// a `:`. Remove it.
|
|
787
|
+
if (defined(tileProtocol)) {
|
|
788
|
+
if (
|
|
789
|
+
tileProtocol.length > 0 &&
|
|
790
|
+
tileProtocol[tileProtocol.length - 1] === ":"
|
|
791
|
+
) {
|
|
792
|
+
tileProtocol = tileProtocol.substr(0, tileProtocol.length - 1);
|
|
793
|
+
}
|
|
794
|
+
} else {
|
|
795
|
+
// use http if the document's protocol is http, otherwise use https
|
|
796
|
+
const documentProtocol = document.location.protocol;
|
|
797
|
+
tileProtocol = documentProtocol === "http:" ? "http" : "https";
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
const mapStyle = defaultValue(options.mapStyle, BingMapsStyle.AERIAL);
|
|
801
|
+
const resource = Resource.createIfNeeded(url);
|
|
802
|
+
resource.appendForwardSlash();
|
|
803
|
+
const metadataResource = resource.getDerivedResource({
|
|
804
|
+
url: `REST/v1/Imagery/Metadata/${mapStyle}`,
|
|
805
|
+
queryParameters: {
|
|
806
|
+
incl: "ImageryProviders",
|
|
807
|
+
key: options.key,
|
|
808
|
+
uriScheme: tileProtocol,
|
|
809
|
+
},
|
|
810
|
+
});
|
|
811
|
+
|
|
812
|
+
const provider = new BingMapsImageryProvider(options);
|
|
813
|
+
provider._resource = resource;
|
|
814
|
+
const imageryProviderBuilder = new ImageryProviderBuilder(options);
|
|
815
|
+
await requestMetadata(metadataResource, imageryProviderBuilder);
|
|
816
|
+
imageryProviderBuilder.build(provider);
|
|
817
|
+
provider._readyPromise = Promise.resolve(true);
|
|
818
|
+
return provider;
|
|
819
|
+
};
|
|
820
|
+
|
|
594
821
|
const rectangleScratch = new Rectangle();
|
|
595
822
|
|
|
596
823
|
/**
|
|
@@ -600,18 +827,8 @@ const rectangleScratch = new Rectangle();
|
|
|
600
827
|
* @param {number} y The tile Y coordinate.
|
|
601
828
|
* @param {number} level The tile level;
|
|
602
829
|
* @returns {Credit[]} The credits to be displayed when the tile is displayed.
|
|
603
|
-
*
|
|
604
|
-
* @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
|
|
605
830
|
*/
|
|
606
831
|
BingMapsImageryProvider.prototype.getTileCredits = function (x, y, level) {
|
|
607
|
-
//>>includeStart('debug', pragmas.debug);
|
|
608
|
-
if (!this._ready) {
|
|
609
|
-
throw new DeveloperError(
|
|
610
|
-
"getTileCredits must not be called before the imagery provider is ready."
|
|
611
|
-
);
|
|
612
|
-
}
|
|
613
|
-
//>>includeEnd('debug');
|
|
614
|
-
|
|
615
832
|
const rectangle = this._tilingScheme.tileXYToRectangle(
|
|
616
833
|
x,
|
|
617
834
|
y,
|
|
@@ -628,8 +845,7 @@ BingMapsImageryProvider.prototype.getTileCredits = function (x, y, level) {
|
|
|
628
845
|
};
|
|
629
846
|
|
|
630
847
|
/**
|
|
631
|
-
* Requests the image for a given tile.
|
|
632
|
-
* not be called before {@link BingMapsImageryProvider#ready} returns true.
|
|
848
|
+
* Requests the image for a given tile.
|
|
633
849
|
*
|
|
634
850
|
* @param {number} x The tile X coordinate.
|
|
635
851
|
* @param {number} y The tile Y coordinate.
|
|
@@ -637,8 +853,6 @@ BingMapsImageryProvider.prototype.getTileCredits = function (x, y, level) {
|
|
|
637
853
|
* @param {Request} [request] The request object. Intended for internal use only.
|
|
638
854
|
* @returns {Promise<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
|
|
639
855
|
* undefined if there are too many active requests to the server, and the request should be retried later.
|
|
640
|
-
*
|
|
641
|
-
* @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
|
|
642
856
|
*/
|
|
643
857
|
BingMapsImageryProvider.prototype.requestImage = function (
|
|
644
858
|
x,
|
|
@@ -646,14 +860,6 @@ BingMapsImageryProvider.prototype.requestImage = function (
|
|
|
646
860
|
level,
|
|
647
861
|
request
|
|
648
862
|
) {
|
|
649
|
-
//>>includeStart('debug', pragmas.debug);
|
|
650
|
-
if (!this._ready) {
|
|
651
|
-
throw new DeveloperError(
|
|
652
|
-
"requestImage must not be called before the imagery provider is ready."
|
|
653
|
-
);
|
|
654
|
-
}
|
|
655
|
-
//>>includeEnd('debug');
|
|
656
|
-
|
|
657
863
|
const promise = ImageryProvider.loadImage(
|
|
658
864
|
this,
|
|
659
865
|
buildImageResource(this, x, y, level, request)
|