@cesium/engine 2.1.0 → 2.2.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/{AxisAlignedBoundingBox-a6f9f0e5.js → AxisAlignedBoundingBox-379015ef.js} +1 -1
- package/Build/Workers/{BoundingRectangle-b0a68595.js → BoundingRectangle-57f2b24f.js} +1 -1
- package/Build/Workers/{BoxGeometry-baedd794.js → BoxGeometry-ecabfc78.js} +1 -1
- package/Build/Workers/{Color-f85df1be.js → Color-14d1a36d.js} +1 -1
- package/Build/Workers/{CoplanarPolygonGeometryLibrary-30516950.js → CoplanarPolygonGeometryLibrary-048c3c14.js} +1 -1
- package/Build/Workers/{CorridorGeometryLibrary-5d5d3b3a.js → CorridorGeometryLibrary-520c8619.js} +1 -1
- package/Build/Workers/{CylinderGeometry-d899ae26.js → CylinderGeometry-119068b8.js} +1 -1
- package/Build/Workers/{EllipseGeometry-a49f8449.js → EllipseGeometry-2dfc3523.js} +1 -1
- package/Build/Workers/{EllipseGeometryLibrary-cba7edde.js → EllipseGeometryLibrary-0a1e0170.js} +1 -1
- package/Build/Workers/{EllipseOutlineGeometry-8095c8cb.js → EllipseOutlineGeometry-c5251669.js} +1 -1
- package/Build/Workers/{EllipsoidGeometry-ed93f571.js → EllipsoidGeometry-d10a5221.js} +1 -1
- package/Build/Workers/{EllipsoidOutlineGeometry-e4854854.js → EllipsoidOutlineGeometry-7039a0ae.js} +1 -1
- package/Build/Workers/{EllipsoidTangentPlane-7ae1aa9a.js → EllipsoidTangentPlane-857186be.js} +1 -1
- package/Build/Workers/{FrustumGeometry-b62db3e3.js → FrustumGeometry-400fa1b7.js} +2 -2
- package/Build/Workers/{GeometryAttribute-780af4fa.js → GeometryAttribute-7a2de5c6.js} +1 -1
- package/Build/Workers/{GeometryPipeline-36b61c99.js → GeometryPipeline-916636fa.js} +1 -1
- package/Build/Workers/{IntersectionTests-e889fcf0.js → IntersectionTests-b4d02d4d.js} +1 -1
- package/Build/Workers/{OrientedBoundingBox-43478ac8.js → OrientedBoundingBox-96fe1752.js} +5 -3
- package/Build/Workers/{PolygonGeometryLibrary-38a98276.js → PolygonGeometryLibrary-931f1ec6.js} +1 -1
- package/Build/Workers/{PolygonPipeline-d31ff61c.js → PolygonPipeline-32fc92cc.js} +1 -1
- package/Build/Workers/{PolylinePipeline-30e4cec9.js → PolylinePipeline-6d5c63e5.js} +1 -1
- package/Build/Workers/{PolylineVolumeGeometryLibrary-90551d26.js → PolylineVolumeGeometryLibrary-f068c1fb.js} +1 -1
- package/Build/Workers/{PrimitivePipeline-558d9cb0.js → PrimitivePipeline-879f996a.js} +1 -1
- package/Build/Workers/{RectangleGeometryLibrary-815c68df.js → RectangleGeometryLibrary-2d6f36f3.js} +1 -1
- package/Build/Workers/{TerrainEncoding-341ead52.js → TerrainEncoding-82882059.js} +1 -1
- package/Build/Workers/{Transforms-9e9df299.js → Transforms-9052372a.js} +6 -5
- package/Build/Workers/{WallGeometryLibrary-ccf90976.js → WallGeometryLibrary-db7a64fb.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/createVectorTileGeometries.js +1 -1
- package/Build/Workers/createVectorTilePolygons.js +1 -1
- package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
- package/Build/Workers/createVerticesFromHeightmap.js +1 -1
- package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +10 -15
- package/Build/Workers/createWallGeometry.js +1 -1
- package/Build/Workers/createWallOutlineGeometry.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/CesiumTerrainProvider.js +571 -434
- package/Source/Core/CustomHeightmapTerrainProvider.js +12 -0
- package/Source/Core/EllipsoidTerrainProvider.js +17 -10
- package/Source/Core/FrustumGeometry.js +1 -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/IonResource.js +14 -3
- package/Source/Core/OrientedBoundingBox.js +4 -2
- package/Source/Core/RequestScheduler.js +1 -1
- package/Source/Core/Resource.js +2 -2
- 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/Entity.js +6 -1
- package/Source/DataSources/ModelVisualizer.js +99 -31
- package/Source/DataSources/PolygonGraphics.js +1 -1
- package/Source/Scene/ArcGisMapServerImageryProvider.js +552 -376
- package/Source/Scene/BingMapsImageryProvider.js +511 -305
- package/Source/Scene/BufferLoader.js +29 -34
- package/Source/Scene/Cesium3DTile.js +388 -251
- 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 +755 -481
- 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 +20 -4
- 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 +50 -27
- 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 +75 -74
- package/Source/Scene/GltfLoader.js +392 -280
- 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 +471 -264
- 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/Model.js +470 -132
- 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/Multiple3DTileContent.js +134 -115
- package/Source/Scene/PointCloud.js +11 -19
- package/Source/Scene/Primitive.js +20 -0
- package/Source/Scene/QuadtreePrimitive.js +2 -0
- 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/ScreenSpaceCameraController.js +1 -1
- 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 +72 -68
- 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/Widget/CesiumWidget.js +55 -27
- package/index.d.ts +2158 -1395
- package/index.js +58 -51
- package/package.json +1 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import Cartesian2 from "../Core/Cartesian2.js";
|
|
2
2
|
import Cartesian3 from "../Core/Cartesian3.js";
|
|
3
3
|
import Cartographic from "../Core/Cartographic.js";
|
|
4
|
+
import Check from "../Core/Check.js";
|
|
4
5
|
import Credit from "../Core/Credit.js";
|
|
5
6
|
import defaultValue from "../Core/defaultValue.js";
|
|
6
7
|
import defined from "../Core/defined.js";
|
|
7
|
-
import
|
|
8
|
+
import deprecationWarning from "../Core/deprecationWarning.js";
|
|
8
9
|
import Event from "../Core/Event.js";
|
|
9
10
|
import GeographicProjection from "../Core/GeographicProjection.js";
|
|
10
11
|
import GeographicTilingScheme from "../Core/GeographicTilingScheme.js";
|
|
@@ -24,8 +25,8 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
24
25
|
*
|
|
25
26
|
* Initialization options for the ArcGisMapServerImageryProvider constructor
|
|
26
27
|
*
|
|
27
|
-
* @property {Resource|string} url The URL of the ArcGIS MapServer service.
|
|
28
|
-
* @property {string} [token] The ArcGIS token used to authenticate with the ArcGIS MapServer service.
|
|
28
|
+
* @property {Resource|string} [url] The URL of the ArcGIS MapServer service. Deprecated.
|
|
29
|
+
* @property {string} [token] The ArcGIS token used to authenticate with the ArcGIS MapServer service. Deprecated.
|
|
29
30
|
* @property {TileDiscardPolicy} [tileDiscardPolicy] The policy that determines if a tile
|
|
30
31
|
* is invalid and should be discarded. If this value is not specified, a default
|
|
31
32
|
* {@link DiscardMissingTileImagePolicy} is used for tiled map servers, and a
|
|
@@ -61,14 +62,220 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
61
62
|
*/
|
|
62
63
|
|
|
63
64
|
/**
|
|
65
|
+
* Used to track creation details while fetching initial metadata
|
|
66
|
+
*
|
|
67
|
+
* @constructor
|
|
68
|
+
* @private
|
|
69
|
+
*
|
|
70
|
+
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} options An object describing initialization options
|
|
71
|
+
*/
|
|
72
|
+
function ImageryProviderBuilder(options) {
|
|
73
|
+
this.useTiles = defaultValue(options.usePreCachedTilesIfAvailable, true);
|
|
74
|
+
|
|
75
|
+
const ellipsoid = options.ellipsoid;
|
|
76
|
+
this.tilingScheme = defaultValue(
|
|
77
|
+
options.tilingScheme,
|
|
78
|
+
new GeographicTilingScheme({ ellipsoid: ellipsoid })
|
|
79
|
+
);
|
|
80
|
+
this.rectangle = defaultValue(options.rectangle, this.tilingScheme.rectangle);
|
|
81
|
+
this.ellipsoid = ellipsoid;
|
|
82
|
+
|
|
83
|
+
let credit = options.credit;
|
|
84
|
+
if (typeof credit === "string") {
|
|
85
|
+
credit = new Credit(credit);
|
|
86
|
+
}
|
|
87
|
+
this.credit = credit;
|
|
88
|
+
this.tileDiscardPolicy = options.tileDiscardPolicy;
|
|
89
|
+
|
|
90
|
+
this.tileWidth = defaultValue(options.tileWidth, 256);
|
|
91
|
+
this.tileHeight = defaultValue(options.tileHeight, 256);
|
|
92
|
+
this.maximumLevel = options.maximumLevel;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Complete ArcGisMapServerImageryProvider creation based on builder values.
|
|
97
|
+
*
|
|
98
|
+
* @private
|
|
99
|
+
*
|
|
100
|
+
* @param {ArcGisMapServerImageryProvider} provider
|
|
101
|
+
*/
|
|
102
|
+
ImageryProviderBuilder.prototype.build = function (provider) {
|
|
103
|
+
provider._useTiles = this.useTiles;
|
|
104
|
+
provider._tilingScheme = this.tilingScheme;
|
|
105
|
+
provider._rectangle = this.rectangle;
|
|
106
|
+
provider._credit = this.credit;
|
|
107
|
+
provider._tileDiscardPolicy = this.tileDiscardPolicy;
|
|
108
|
+
provider._tileWidth = this.tileWidth;
|
|
109
|
+
provider._tileHeight = this.tileHeight;
|
|
110
|
+
provider._maximumLevel = this.maximumLevel;
|
|
111
|
+
|
|
112
|
+
// Install the default tile discard policy if none has been supplied.
|
|
113
|
+
if (this.useTiles && !defined(this.tileDiscardPolicy)) {
|
|
114
|
+
provider._tileDiscardPolicy = new DiscardMissingTileImagePolicy({
|
|
115
|
+
missingImageUrl: buildImageResource(provider, 0, 0, this.maximumLevel)
|
|
116
|
+
.url,
|
|
117
|
+
pixelsToCheck: [
|
|
118
|
+
new Cartesian2(0, 0),
|
|
119
|
+
new Cartesian2(200, 20),
|
|
120
|
+
new Cartesian2(20, 200),
|
|
121
|
+
new Cartesian2(80, 110),
|
|
122
|
+
new Cartesian2(160, 130),
|
|
123
|
+
],
|
|
124
|
+
disableCheckIfAllPixelsAreTransparent: true,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
provider._ready = true;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
function metadataSuccess(data, imageryProviderBuilder) {
|
|
132
|
+
const tileInfo = data.tileInfo;
|
|
133
|
+
if (!defined(tileInfo)) {
|
|
134
|
+
imageryProviderBuilder.useTiles = false;
|
|
135
|
+
} else {
|
|
136
|
+
imageryProviderBuilder.tileWidth = tileInfo.rows;
|
|
137
|
+
imageryProviderBuilder.tileHeight = tileInfo.cols;
|
|
138
|
+
|
|
139
|
+
if (
|
|
140
|
+
tileInfo.spatialReference.wkid === 102100 ||
|
|
141
|
+
tileInfo.spatialReference.wkid === 102113
|
|
142
|
+
) {
|
|
143
|
+
imageryProviderBuilder.tilingScheme = new WebMercatorTilingScheme({
|
|
144
|
+
ellipsoid: imageryProviderBuilder.ellipsoid,
|
|
145
|
+
});
|
|
146
|
+
} else if (data.tileInfo.spatialReference.wkid === 4326) {
|
|
147
|
+
imageryProviderBuilder.tilingScheme = new GeographicTilingScheme({
|
|
148
|
+
ellipsoid: imageryProviderBuilder.ellipsoid,
|
|
149
|
+
});
|
|
150
|
+
} else {
|
|
151
|
+
const message = `Tile spatial reference WKID ${data.tileInfo.spatialReference.wkid} is not supported.`;
|
|
152
|
+
throw new RuntimeError(message);
|
|
153
|
+
}
|
|
154
|
+
imageryProviderBuilder.maximumLevel = data.tileInfo.lods.length - 1;
|
|
155
|
+
|
|
156
|
+
if (defined(data.fullExtent)) {
|
|
157
|
+
if (
|
|
158
|
+
defined(data.fullExtent.spatialReference) &&
|
|
159
|
+
defined(data.fullExtent.spatialReference.wkid)
|
|
160
|
+
) {
|
|
161
|
+
if (
|
|
162
|
+
data.fullExtent.spatialReference.wkid === 102100 ||
|
|
163
|
+
data.fullExtent.spatialReference.wkid === 102113
|
|
164
|
+
) {
|
|
165
|
+
const projection = new WebMercatorProjection();
|
|
166
|
+
const extent = data.fullExtent;
|
|
167
|
+
const sw = projection.unproject(
|
|
168
|
+
new Cartesian3(
|
|
169
|
+
Math.max(
|
|
170
|
+
extent.xmin,
|
|
171
|
+
-imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
172
|
+
Math.PI
|
|
173
|
+
),
|
|
174
|
+
Math.max(
|
|
175
|
+
extent.ymin,
|
|
176
|
+
-imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
177
|
+
Math.PI
|
|
178
|
+
),
|
|
179
|
+
0.0
|
|
180
|
+
)
|
|
181
|
+
);
|
|
182
|
+
const ne = projection.unproject(
|
|
183
|
+
new Cartesian3(
|
|
184
|
+
Math.min(
|
|
185
|
+
extent.xmax,
|
|
186
|
+
imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
187
|
+
Math.PI
|
|
188
|
+
),
|
|
189
|
+
Math.min(
|
|
190
|
+
extent.ymax,
|
|
191
|
+
imageryProviderBuilder.tilingScheme.ellipsoid.maximumRadius *
|
|
192
|
+
Math.PI
|
|
193
|
+
),
|
|
194
|
+
0.0
|
|
195
|
+
)
|
|
196
|
+
);
|
|
197
|
+
imageryProviderBuilder.rectangle = new Rectangle(
|
|
198
|
+
sw.longitude,
|
|
199
|
+
sw.latitude,
|
|
200
|
+
ne.longitude,
|
|
201
|
+
ne.latitude
|
|
202
|
+
);
|
|
203
|
+
} else if (data.fullExtent.spatialReference.wkid === 4326) {
|
|
204
|
+
imageryProviderBuilder.rectangle = Rectangle.fromDegrees(
|
|
205
|
+
data.fullExtent.xmin,
|
|
206
|
+
data.fullExtent.ymin,
|
|
207
|
+
data.fullExtent.xmax,
|
|
208
|
+
data.fullExtent.ymax
|
|
209
|
+
);
|
|
210
|
+
} else {
|
|
211
|
+
const extentMessage = `fullExtent.spatialReference WKID ${data.fullExtent.spatialReference.wkid} is not supported.`;
|
|
212
|
+
throw new RuntimeError(extentMessage);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
} else {
|
|
216
|
+
imageryProviderBuilder.rectangle =
|
|
217
|
+
imageryProviderBuilder.tilingScheme.rectangle;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
imageryProviderBuilder.useTiles = true;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if (defined(data.copyrightText) && data.copyrightText.length > 0) {
|
|
224
|
+
imageryProviderBuilder.credit = new Credit(data.copyrightText);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
function metadataFailure(resource, error, provider) {
|
|
229
|
+
let message = `An error occurred while accessing ${resource.url}`;
|
|
230
|
+
if (defined(error) && defined(error.message)) {
|
|
231
|
+
message += `: ${error.message}`;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// When readyPromise is deprecated, TileProviderError.reportError,
|
|
235
|
+
// and related parameters can be removed
|
|
236
|
+
TileProviderError.reportError(
|
|
237
|
+
undefined,
|
|
238
|
+
provider,
|
|
239
|
+
defined(provider) ? provider._errorEvent : undefined,
|
|
240
|
+
message,
|
|
241
|
+
undefined,
|
|
242
|
+
undefined,
|
|
243
|
+
undefined,
|
|
244
|
+
error
|
|
245
|
+
);
|
|
246
|
+
|
|
247
|
+
throw new RuntimeError(message);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
async function requestMetadata(resource, imageryProviderBuilder, provider) {
|
|
251
|
+
const jsonResource = resource.getDerivedResource({
|
|
252
|
+
queryParameters: {
|
|
253
|
+
f: "json",
|
|
254
|
+
},
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
try {
|
|
258
|
+
const data = await jsonResource.fetchJsonp();
|
|
259
|
+
metadataSuccess(data, imageryProviderBuilder);
|
|
260
|
+
} catch (error) {
|
|
261
|
+
metadataFailure(resource, error, provider);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* <div class="notice">
|
|
267
|
+
* To construct a ArcGisMapServerImageryProvider call {@link ArcGisMapServerImageryProvider.fromUrl}. Do not call the constructor directly.
|
|
268
|
+
* </div>
|
|
269
|
+
*
|
|
64
270
|
* Provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
|
|
65
271
|
* used, if available.
|
|
66
272
|
*
|
|
67
273
|
* @alias ArcGisMapServerImageryProvider
|
|
68
274
|
* @constructor
|
|
69
275
|
*
|
|
70
|
-
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} options Object describing initialization options
|
|
276
|
+
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} [options] Object describing initialization options
|
|
71
277
|
*
|
|
278
|
+
* @see ArcGisMapServerImagery.fromUrl
|
|
72
279
|
* @see BingMapsImageryProvider
|
|
73
280
|
* @see GoogleEarthEnterpriseMapsProvider
|
|
74
281
|
* @see OpenStreetMapImageryProvider
|
|
@@ -78,11 +285,10 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
78
285
|
* @see WebMapTileServiceImageryProvider
|
|
79
286
|
* @see UrlTemplateImageryProvider
|
|
80
287
|
*
|
|
81
|
-
*
|
|
82
288
|
* @example
|
|
83
|
-
* const esri =
|
|
84
|
-
*
|
|
85
|
-
*
|
|
289
|
+
* const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
|
|
290
|
+
* "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
|
|
291
|
+
* );
|
|
86
292
|
*
|
|
87
293
|
* @see {@link https://developers.arcgis.com/rest/|ArcGIS Server REST API}
|
|
88
294
|
* @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
|
|
@@ -90,110 +296,18 @@ import ImageryProvider from "./ImageryProvider.js";
|
|
|
90
296
|
function ArcGisMapServerImageryProvider(options) {
|
|
91
297
|
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
92
298
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
* @type {number|undefined}
|
|
104
|
-
* @default undefined
|
|
105
|
-
*/
|
|
106
|
-
this.defaultAlpha = undefined;
|
|
299
|
+
this._defaultAlpha = undefined;
|
|
300
|
+
this._defaultNightAlpha = undefined;
|
|
301
|
+
this._defaultDayAlpha = undefined;
|
|
302
|
+
this._defaultBrightness = undefined;
|
|
303
|
+
this._defaultContrast = undefined;
|
|
304
|
+
this._defaultHue = undefined;
|
|
305
|
+
this._defaultSaturation = undefined;
|
|
306
|
+
this._defaultGamma = undefined;
|
|
307
|
+
this._defaultMinificationFilter = undefined;
|
|
308
|
+
this._defaultMagnificationFilter = undefined;
|
|
107
309
|
|
|
108
|
-
/**
|
|
109
|
-
* The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
|
|
110
|
-
* 1.0 representing fully opaque.
|
|
111
|
-
*
|
|
112
|
-
* @type {number|undefined}
|
|
113
|
-
* @default undefined
|
|
114
|
-
*/
|
|
115
|
-
this.defaultNightAlpha = undefined;
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
|
|
119
|
-
* 1.0 representing fully opaque.
|
|
120
|
-
*
|
|
121
|
-
* @type {number|undefined}
|
|
122
|
-
* @default undefined
|
|
123
|
-
*/
|
|
124
|
-
this.defaultDayAlpha = undefined;
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
|
|
128
|
-
* makes the imagery darker while greater than 1.0 makes it brighter.
|
|
129
|
-
*
|
|
130
|
-
* @type {number|undefined}
|
|
131
|
-
* @default undefined
|
|
132
|
-
*/
|
|
133
|
-
this.defaultBrightness = undefined;
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
|
|
137
|
-
* the contrast while greater than 1.0 increases it.
|
|
138
|
-
*
|
|
139
|
-
* @type {number|undefined}
|
|
140
|
-
* @default undefined
|
|
141
|
-
*/
|
|
142
|
-
this.defaultContrast = undefined;
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
|
|
146
|
-
*
|
|
147
|
-
* @type {number|undefined}
|
|
148
|
-
* @default undefined
|
|
149
|
-
*/
|
|
150
|
-
this.defaultHue = undefined;
|
|
151
|
-
|
|
152
|
-
/**
|
|
153
|
-
* The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
|
|
154
|
-
* saturation while greater than 1.0 increases it.
|
|
155
|
-
*
|
|
156
|
-
* @type {number|undefined}
|
|
157
|
-
* @default undefined
|
|
158
|
-
*/
|
|
159
|
-
this.defaultSaturation = undefined;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
|
|
163
|
-
*
|
|
164
|
-
* @type {number|undefined}
|
|
165
|
-
* @default undefined
|
|
166
|
-
*/
|
|
167
|
-
this.defaultGamma = undefined;
|
|
168
|
-
|
|
169
|
-
/**
|
|
170
|
-
* The default texture minification filter to apply to this provider.
|
|
171
|
-
*
|
|
172
|
-
* @type {TextureMinificationFilter}
|
|
173
|
-
* @default undefined
|
|
174
|
-
*/
|
|
175
|
-
this.defaultMinificationFilter = undefined;
|
|
176
|
-
|
|
177
|
-
/**
|
|
178
|
-
* The default texture magnification filter to apply to this provider.
|
|
179
|
-
*
|
|
180
|
-
* @type {TextureMagnificationFilter}
|
|
181
|
-
* @default undefined
|
|
182
|
-
*/
|
|
183
|
-
this.defaultMagnificationFilter = undefined;
|
|
184
|
-
|
|
185
|
-
const resource = Resource.createIfNeeded(options.url);
|
|
186
|
-
resource.appendForwardSlash();
|
|
187
|
-
|
|
188
|
-
if (defined(options.token)) {
|
|
189
|
-
resource.setQueryParameters({
|
|
190
|
-
token: options.token,
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
this._resource = resource;
|
|
195
310
|
this._tileDiscardPolicy = options.tileDiscardPolicy;
|
|
196
|
-
|
|
197
311
|
this._tileWidth = defaultValue(options.tileWidth, 256);
|
|
198
312
|
this._tileHeight = defaultValue(options.tileHeight, 256);
|
|
199
313
|
this._maximumLevel = options.maximumLevel;
|
|
@@ -207,12 +321,7 @@ function ArcGisMapServerImageryProvider(options) {
|
|
|
207
321
|
this._tilingScheme.rectangle
|
|
208
322
|
);
|
|
209
323
|
this._layers = options.layers;
|
|
210
|
-
|
|
211
|
-
let credit = options.credit;
|
|
212
|
-
if (typeof credit === "string") {
|
|
213
|
-
credit = new Credit(credit);
|
|
214
|
-
}
|
|
215
|
-
this._credit = credit;
|
|
324
|
+
this._credit = undefined;
|
|
216
325
|
|
|
217
326
|
/**
|
|
218
327
|
* Gets or sets a value indicating whether feature picking is enabled. If true, {@link ArcGisMapServerImageryProvider#pickFeatures} will
|
|
@@ -228,173 +337,37 @@ function ArcGisMapServerImageryProvider(options) {
|
|
|
228
337
|
|
|
229
338
|
this._ready = false;
|
|
230
339
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
that._useTiles = false;
|
|
239
|
-
} else {
|
|
240
|
-
that._tileWidth = tileInfo.rows;
|
|
241
|
-
that._tileHeight = tileInfo.cols;
|
|
242
|
-
|
|
243
|
-
if (
|
|
244
|
-
tileInfo.spatialReference.wkid === 102100 ||
|
|
245
|
-
tileInfo.spatialReference.wkid === 102113
|
|
246
|
-
) {
|
|
247
|
-
that._tilingScheme = new WebMercatorTilingScheme({
|
|
248
|
-
ellipsoid: options.ellipsoid,
|
|
249
|
-
});
|
|
250
|
-
} else if (data.tileInfo.spatialReference.wkid === 4326) {
|
|
251
|
-
that._tilingScheme = new GeographicTilingScheme({
|
|
252
|
-
ellipsoid: options.ellipsoid,
|
|
253
|
-
});
|
|
254
|
-
} else {
|
|
255
|
-
const message = `Tile spatial reference WKID ${data.tileInfo.spatialReference.wkid} is not supported.`;
|
|
256
|
-
metadataError = TileProviderError.reportError(
|
|
257
|
-
metadataError,
|
|
258
|
-
that,
|
|
259
|
-
that._errorEvent,
|
|
260
|
-
message,
|
|
261
|
-
undefined,
|
|
262
|
-
undefined,
|
|
263
|
-
undefined
|
|
264
|
-
);
|
|
265
|
-
if (metadataError.retry) {
|
|
266
|
-
return requestMetadata();
|
|
267
|
-
}
|
|
268
|
-
return Promise.reject(new RuntimeError(message));
|
|
269
|
-
}
|
|
270
|
-
that._maximumLevel = data.tileInfo.lods.length - 1;
|
|
271
|
-
|
|
272
|
-
if (defined(data.fullExtent)) {
|
|
273
|
-
if (
|
|
274
|
-
defined(data.fullExtent.spatialReference) &&
|
|
275
|
-
defined(data.fullExtent.spatialReference.wkid)
|
|
276
|
-
) {
|
|
277
|
-
if (
|
|
278
|
-
data.fullExtent.spatialReference.wkid === 102100 ||
|
|
279
|
-
data.fullExtent.spatialReference.wkid === 102113
|
|
280
|
-
) {
|
|
281
|
-
const projection = new WebMercatorProjection();
|
|
282
|
-
const extent = data.fullExtent;
|
|
283
|
-
const sw = projection.unproject(
|
|
284
|
-
new Cartesian3(
|
|
285
|
-
Math.max(
|
|
286
|
-
extent.xmin,
|
|
287
|
-
-that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
288
|
-
),
|
|
289
|
-
Math.max(
|
|
290
|
-
extent.ymin,
|
|
291
|
-
-that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
292
|
-
),
|
|
293
|
-
0.0
|
|
294
|
-
)
|
|
295
|
-
);
|
|
296
|
-
const ne = projection.unproject(
|
|
297
|
-
new Cartesian3(
|
|
298
|
-
Math.min(
|
|
299
|
-
extent.xmax,
|
|
300
|
-
that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
301
|
-
),
|
|
302
|
-
Math.min(
|
|
303
|
-
extent.ymax,
|
|
304
|
-
that._tilingScheme.ellipsoid.maximumRadius * Math.PI
|
|
305
|
-
),
|
|
306
|
-
0.0
|
|
307
|
-
)
|
|
308
|
-
);
|
|
309
|
-
that._rectangle = new Rectangle(
|
|
310
|
-
sw.longitude,
|
|
311
|
-
sw.latitude,
|
|
312
|
-
ne.longitude,
|
|
313
|
-
ne.latitude
|
|
314
|
-
);
|
|
315
|
-
} else if (data.fullExtent.spatialReference.wkid === 4326) {
|
|
316
|
-
that._rectangle = Rectangle.fromDegrees(
|
|
317
|
-
data.fullExtent.xmin,
|
|
318
|
-
data.fullExtent.ymin,
|
|
319
|
-
data.fullExtent.xmax,
|
|
320
|
-
data.fullExtent.ymax
|
|
321
|
-
);
|
|
322
|
-
} else {
|
|
323
|
-
const extentMessage = `fullExtent.spatialReference WKID ${data.fullExtent.spatialReference.wkid} is not supported.`;
|
|
324
|
-
metadataError = TileProviderError.reportError(
|
|
325
|
-
metadataError,
|
|
326
|
-
that,
|
|
327
|
-
that._errorEvent,
|
|
328
|
-
extentMessage,
|
|
329
|
-
undefined,
|
|
330
|
-
undefined,
|
|
331
|
-
undefined
|
|
332
|
-
);
|
|
333
|
-
if (metadataError.retry) {
|
|
334
|
-
return requestMetadata();
|
|
335
|
-
}
|
|
336
|
-
return Promise.reject(new RuntimeError(extentMessage));
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
} else {
|
|
340
|
-
that._rectangle = that._tilingScheme.rectangle;
|
|
341
|
-
}
|
|
340
|
+
if (defined(options.url)) {
|
|
341
|
+
deprecationWarning(
|
|
342
|
+
"ArcGisMapServerImageryProvider options.url",
|
|
343
|
+
"options.url was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
|
|
344
|
+
);
|
|
345
|
+
const resource = Resource.createIfNeeded(options.url);
|
|
346
|
+
resource.appendForwardSlash();
|
|
342
347
|
|
|
343
|
-
|
|
344
|
-
if (!defined(that._tileDiscardPolicy)) {
|
|
345
|
-
that._tileDiscardPolicy = new DiscardMissingTileImagePolicy({
|
|
346
|
-
missingImageUrl: buildImageResource(that, 0, 0, that._maximumLevel)
|
|
347
|
-
.url,
|
|
348
|
-
pixelsToCheck: [
|
|
349
|
-
new Cartesian2(0, 0),
|
|
350
|
-
new Cartesian2(200, 20),
|
|
351
|
-
new Cartesian2(20, 200),
|
|
352
|
-
new Cartesian2(80, 110),
|
|
353
|
-
new Cartesian2(160, 130),
|
|
354
|
-
],
|
|
355
|
-
disableCheckIfAllPixelsAreTransparent: true,
|
|
356
|
-
});
|
|
357
|
-
}
|
|
348
|
+
this._tileDiscardPolicy = options.tileDiscardPolicy;
|
|
358
349
|
|
|
359
|
-
|
|
350
|
+
if (defined(options.token)) {
|
|
351
|
+
resource.setQueryParameters({
|
|
352
|
+
token: options.token,
|
|
353
|
+
});
|
|
360
354
|
}
|
|
361
355
|
|
|
362
|
-
|
|
363
|
-
|
|
356
|
+
this._resource = resource;
|
|
357
|
+
const imageryProviderBuilder = new ImageryProviderBuilder(options);
|
|
358
|
+
if (imageryProviderBuilder.useTiles) {
|
|
359
|
+
this._readyPromise = requestMetadata(
|
|
360
|
+
resource,
|
|
361
|
+
imageryProviderBuilder,
|
|
362
|
+
this
|
|
363
|
+
).then(() => {
|
|
364
|
+
imageryProviderBuilder.build(this);
|
|
365
|
+
return true;
|
|
366
|
+
});
|
|
367
|
+
} else {
|
|
368
|
+
imageryProviderBuilder.build(this);
|
|
369
|
+
this._readyPromise = Promise.resolve(true);
|
|
364
370
|
}
|
|
365
|
-
|
|
366
|
-
that._ready = true;
|
|
367
|
-
TileProviderError.reportSuccess(metadataError);
|
|
368
|
-
return Promise.resolve(true);
|
|
369
|
-
}
|
|
370
|
-
|
|
371
|
-
function metadataFailure(e) {
|
|
372
|
-
const message = `An error occurred while accessing ${that._resource.url}.`;
|
|
373
|
-
metadataError = TileProviderError.reportError(
|
|
374
|
-
metadataError,
|
|
375
|
-
that,
|
|
376
|
-
that._errorEvent,
|
|
377
|
-
message,
|
|
378
|
-
undefined,
|
|
379
|
-
undefined,
|
|
380
|
-
undefined
|
|
381
|
-
);
|
|
382
|
-
return Promise.reject(new RuntimeError(message));
|
|
383
|
-
}
|
|
384
|
-
function requestMetadata() {
|
|
385
|
-
const resource = that._resource.getDerivedResource({
|
|
386
|
-
queryParameters: {
|
|
387
|
-
f: "json",
|
|
388
|
-
},
|
|
389
|
-
});
|
|
390
|
-
return resource.fetchJsonp().then(metadataSuccess).catch(metadataFailure);
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
if (this._useTiles) {
|
|
394
|
-
this._readyPromise = requestMetadata();
|
|
395
|
-
} else {
|
|
396
|
-
this._ready = true;
|
|
397
|
-
this._readyPromise = Promise.resolve(true);
|
|
398
371
|
}
|
|
399
372
|
}
|
|
400
373
|
|
|
@@ -482,127 +455,73 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
482
455
|
},
|
|
483
456
|
|
|
484
457
|
/**
|
|
485
|
-
* Gets the width of each tile, in pixels.
|
|
486
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
458
|
+
* Gets the width of each tile, in pixels.
|
|
487
459
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
488
460
|
* @type {number}
|
|
489
461
|
* @readonly
|
|
490
462
|
*/
|
|
491
463
|
tileWidth: {
|
|
492
464
|
get: function () {
|
|
493
|
-
//>>includeStart('debug', pragmas.debug);
|
|
494
|
-
if (!this._ready) {
|
|
495
|
-
throw new DeveloperError(
|
|
496
|
-
"tileWidth must not be called before the imagery provider is ready."
|
|
497
|
-
);
|
|
498
|
-
}
|
|
499
|
-
//>>includeEnd('debug');
|
|
500
|
-
|
|
501
465
|
return this._tileWidth;
|
|
502
466
|
},
|
|
503
467
|
},
|
|
504
468
|
|
|
505
469
|
/**
|
|
506
|
-
* Gets the height of each tile, in pixels.
|
|
507
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
470
|
+
* Gets the height of each tile, in pixels.
|
|
508
471
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
509
472
|
* @type {number}
|
|
510
473
|
* @readonly
|
|
511
474
|
*/
|
|
512
475
|
tileHeight: {
|
|
513
476
|
get: function () {
|
|
514
|
-
//>>includeStart('debug', pragmas.debug);
|
|
515
|
-
if (!this._ready) {
|
|
516
|
-
throw new DeveloperError(
|
|
517
|
-
"tileHeight must not be called before the imagery provider is ready."
|
|
518
|
-
);
|
|
519
|
-
}
|
|
520
|
-
//>>includeEnd('debug');
|
|
521
|
-
|
|
522
477
|
return this._tileHeight;
|
|
523
478
|
},
|
|
524
479
|
},
|
|
525
480
|
|
|
526
481
|
/**
|
|
527
|
-
* Gets the maximum level-of-detail that can be requested.
|
|
528
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
482
|
+
* Gets the maximum level-of-detail that can be requested.
|
|
529
483
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
530
484
|
* @type {number|undefined}
|
|
531
485
|
* @readonly
|
|
532
486
|
*/
|
|
533
487
|
maximumLevel: {
|
|
534
488
|
get: function () {
|
|
535
|
-
//>>includeStart('debug', pragmas.debug);
|
|
536
|
-
if (!this._ready) {
|
|
537
|
-
throw new DeveloperError(
|
|
538
|
-
"maximumLevel must not be called before the imagery provider is ready."
|
|
539
|
-
);
|
|
540
|
-
}
|
|
541
|
-
//>>includeEnd('debug');
|
|
542
|
-
|
|
543
489
|
return this._maximumLevel;
|
|
544
490
|
},
|
|
545
491
|
},
|
|
546
492
|
|
|
547
493
|
/**
|
|
548
|
-
* Gets the minimum level-of-detail that can be requested.
|
|
549
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
494
|
+
* Gets the minimum level-of-detail that can be requested.
|
|
550
495
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
551
496
|
* @type {number}
|
|
552
497
|
* @readonly
|
|
553
498
|
*/
|
|
554
499
|
minimumLevel: {
|
|
555
500
|
get: function () {
|
|
556
|
-
//>>includeStart('debug', pragmas.debug);
|
|
557
|
-
if (!this._ready) {
|
|
558
|
-
throw new DeveloperError(
|
|
559
|
-
"minimumLevel must not be called before the imagery provider is ready."
|
|
560
|
-
);
|
|
561
|
-
}
|
|
562
|
-
//>>includeEnd('debug');
|
|
563
|
-
|
|
564
501
|
return 0;
|
|
565
502
|
},
|
|
566
503
|
},
|
|
567
504
|
|
|
568
505
|
/**
|
|
569
|
-
* Gets the tiling scheme used by this provider.
|
|
570
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
506
|
+
* Gets the tiling scheme used by this provider.
|
|
571
507
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
572
508
|
* @type {TilingScheme}
|
|
573
509
|
* @readonly
|
|
574
510
|
*/
|
|
575
511
|
tilingScheme: {
|
|
576
512
|
get: function () {
|
|
577
|
-
//>>includeStart('debug', pragmas.debug);
|
|
578
|
-
if (!this._ready) {
|
|
579
|
-
throw new DeveloperError(
|
|
580
|
-
"tilingScheme must not be called before the imagery provider is ready."
|
|
581
|
-
);
|
|
582
|
-
}
|
|
583
|
-
//>>includeEnd('debug');
|
|
584
|
-
|
|
585
513
|
return this._tilingScheme;
|
|
586
514
|
},
|
|
587
515
|
},
|
|
588
516
|
|
|
589
517
|
/**
|
|
590
|
-
* Gets the rectangle, in radians, of the imagery provided by this instance.
|
|
591
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
518
|
+
* Gets the rectangle, in radians, of the imagery provided by this instance.
|
|
592
519
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
593
520
|
* @type {Rectangle}
|
|
594
521
|
* @readonly
|
|
595
522
|
*/
|
|
596
523
|
rectangle: {
|
|
597
524
|
get: function () {
|
|
598
|
-
//>>includeStart('debug', pragmas.debug);
|
|
599
|
-
if (!this._ready) {
|
|
600
|
-
throw new DeveloperError(
|
|
601
|
-
"rectangle must not be called before the imagery provider is ready."
|
|
602
|
-
);
|
|
603
|
-
}
|
|
604
|
-
//>>includeEnd('debug');
|
|
605
|
-
|
|
606
525
|
return this._rectangle;
|
|
607
526
|
},
|
|
608
527
|
},
|
|
@@ -610,22 +529,13 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
610
529
|
/**
|
|
611
530
|
* Gets the tile discard policy. If not undefined, the discard policy is responsible
|
|
612
531
|
* for filtering out "missing" tiles via its shouldDiscardImage function. If this function
|
|
613
|
-
* returns undefined, no tiles are filtered.
|
|
614
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
532
|
+
* returns undefined, no tiles are filtered.
|
|
615
533
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
616
534
|
* @type {TileDiscardPolicy}
|
|
617
535
|
* @readonly
|
|
618
536
|
*/
|
|
619
537
|
tileDiscardPolicy: {
|
|
620
538
|
get: function () {
|
|
621
|
-
//>>includeStart('debug', pragmas.debug);
|
|
622
|
-
if (!this._ready) {
|
|
623
|
-
throw new DeveloperError(
|
|
624
|
-
"tileDiscardPolicy must not be called before the imagery provider is ready."
|
|
625
|
-
);
|
|
626
|
-
}
|
|
627
|
-
//>>includeEnd('debug');
|
|
628
|
-
|
|
629
539
|
return this._tileDiscardPolicy;
|
|
630
540
|
},
|
|
631
541
|
},
|
|
@@ -649,9 +559,14 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
649
559
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
650
560
|
* @type {boolean}
|
|
651
561
|
* @readonly
|
|
562
|
+
* @deprecated
|
|
652
563
|
*/
|
|
653
564
|
ready: {
|
|
654
565
|
get: function () {
|
|
566
|
+
deprecationWarning(
|
|
567
|
+
"ArcGisMapServerImageryProvider.ready",
|
|
568
|
+
"ArcGisMapServerImageryProvider.ready was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
|
|
569
|
+
);
|
|
655
570
|
return this._ready;
|
|
656
571
|
},
|
|
657
572
|
},
|
|
@@ -661,9 +576,14 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
661
576
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
662
577
|
* @type {Promise<boolean>}
|
|
663
578
|
* @readonly
|
|
579
|
+
* @deprecated
|
|
664
580
|
*/
|
|
665
581
|
readyPromise: {
|
|
666
582
|
get: function () {
|
|
583
|
+
deprecationWarning(
|
|
584
|
+
"ArcGisMapServerImageryProvider.readyPromise",
|
|
585
|
+
"ArcGisMapServerImageryProvider.readyPromise was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ArcGisMapServerImageryProvider.fromUrl instead."
|
|
586
|
+
);
|
|
667
587
|
return this._readyPromise;
|
|
668
588
|
},
|
|
669
589
|
},
|
|
@@ -683,9 +603,7 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
683
603
|
|
|
684
604
|
/**
|
|
685
605
|
* Gets a value indicating whether this imagery provider is using pre-cached tiles from the
|
|
686
|
-
* ArcGIS MapServer.
|
|
687
|
-
* will return the value of `options.usePreCachedTilesIfAvailable`, even if the MapServer does
|
|
688
|
-
* not have pre-cached tiles.
|
|
606
|
+
* ArcGIS MapServer.
|
|
689
607
|
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
690
608
|
*
|
|
691
609
|
* @type {boolean}
|
|
@@ -727,8 +645,289 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
727
645
|
return this._layers;
|
|
728
646
|
},
|
|
729
647
|
},
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* The default alpha blending value of this provider, with 0.0 representing fully transparent and
|
|
651
|
+
* 1.0 representing fully opaque.
|
|
652
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
653
|
+
* @type {Number|undefined}
|
|
654
|
+
* @deprecated
|
|
655
|
+
*/
|
|
656
|
+
defaultAlpha: {
|
|
657
|
+
get: function () {
|
|
658
|
+
deprecationWarning(
|
|
659
|
+
"ArcGisMapServerImageryProvider.defaultAlpha",
|
|
660
|
+
"ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
|
|
661
|
+
);
|
|
662
|
+
return this._defaultAlpha;
|
|
663
|
+
},
|
|
664
|
+
set: function (value) {
|
|
665
|
+
deprecationWarning(
|
|
666
|
+
"ArcGisMapServerImageryProvider.defaultAlpha",
|
|
667
|
+
"ArcGisMapServerImageryProvider.defaultAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.alpha instead."
|
|
668
|
+
);
|
|
669
|
+
this._defaultAlpha = value;
|
|
670
|
+
},
|
|
671
|
+
},
|
|
672
|
+
|
|
673
|
+
/**
|
|
674
|
+
* The default alpha blending value on the night side of the globe of this provider, with 0.0 representing fully transparent and
|
|
675
|
+
* 1.0 representing fully opaque.
|
|
676
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
677
|
+
* @type {Number|undefined}
|
|
678
|
+
* @deprecated
|
|
679
|
+
*/
|
|
680
|
+
defaultNightAlpha: {
|
|
681
|
+
get: function () {
|
|
682
|
+
deprecationWarning(
|
|
683
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha",
|
|
684
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
|
|
685
|
+
);
|
|
686
|
+
return this._defaultNightAlpha;
|
|
687
|
+
},
|
|
688
|
+
set: function (value) {
|
|
689
|
+
deprecationWarning(
|
|
690
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha",
|
|
691
|
+
"ArcGisMapServerImageryProvider.defaultNightAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.nightAlpha instead."
|
|
692
|
+
);
|
|
693
|
+
this._defaultNightAlpha = value;
|
|
694
|
+
},
|
|
695
|
+
},
|
|
696
|
+
|
|
697
|
+
/**
|
|
698
|
+
* The default alpha blending value on the day side of the globe of this provider, with 0.0 representing fully transparent and
|
|
699
|
+
* 1.0 representing fully opaque.
|
|
700
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
701
|
+
* @type {Number|undefined}
|
|
702
|
+
* @deprecated
|
|
703
|
+
*/
|
|
704
|
+
defaultDayAlpha: {
|
|
705
|
+
get: function () {
|
|
706
|
+
deprecationWarning(
|
|
707
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha",
|
|
708
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
|
|
709
|
+
);
|
|
710
|
+
return this._defaultDayAlpha;
|
|
711
|
+
},
|
|
712
|
+
set: function (value) {
|
|
713
|
+
deprecationWarning(
|
|
714
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha",
|
|
715
|
+
"ArcGisMapServerImageryProvider.defaultDayAlpha was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.dayAlpha instead."
|
|
716
|
+
);
|
|
717
|
+
this._defaultDayAlpha = value;
|
|
718
|
+
},
|
|
719
|
+
},
|
|
720
|
+
|
|
721
|
+
/**
|
|
722
|
+
* The default brightness of this provider. 1.0 uses the unmodified imagery color. Less than 1.0
|
|
723
|
+
* makes the imagery darker while greater than 1.0 makes it brighter.
|
|
724
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
725
|
+
* @type {Number|undefined}
|
|
726
|
+
* @deprecated
|
|
727
|
+
*/
|
|
728
|
+
defaultBrightness: {
|
|
729
|
+
get: function () {
|
|
730
|
+
deprecationWarning(
|
|
731
|
+
"ArcGisMapServerImageryProvider.defaultBrightness",
|
|
732
|
+
"ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
|
|
733
|
+
);
|
|
734
|
+
return this._defaultBrightness;
|
|
735
|
+
},
|
|
736
|
+
set: function (value) {
|
|
737
|
+
deprecationWarning(
|
|
738
|
+
"ArcGisMapServerImageryProvider.defaultBrightness",
|
|
739
|
+
"ArcGisMapServerImageryProvider.defaultBrightness was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.brightness instead."
|
|
740
|
+
);
|
|
741
|
+
this._defaultBrightness = value;
|
|
742
|
+
},
|
|
743
|
+
},
|
|
744
|
+
|
|
745
|
+
/**
|
|
746
|
+
* The default contrast of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces
|
|
747
|
+
* the contrast while greater than 1.0 increases it.
|
|
748
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
749
|
+
* @type {Number|undefined}
|
|
750
|
+
* @deprecated
|
|
751
|
+
*/
|
|
752
|
+
defaultContrast: {
|
|
753
|
+
get: function () {
|
|
754
|
+
deprecationWarning(
|
|
755
|
+
"ArcGisMapServerImageryProvider.defaultContrast",
|
|
756
|
+
"ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
|
|
757
|
+
);
|
|
758
|
+
return this._defaultContrast;
|
|
759
|
+
},
|
|
760
|
+
set: function (value) {
|
|
761
|
+
deprecationWarning(
|
|
762
|
+
"ArcGisMapServerImageryProvider.defaultContrast",
|
|
763
|
+
"ArcGisMapServerImageryProvider.defaultContrast was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.contrast instead."
|
|
764
|
+
);
|
|
765
|
+
this._defaultContrast = value;
|
|
766
|
+
},
|
|
767
|
+
},
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* The default hue of this provider in radians. 0.0 uses the unmodified imagery color.
|
|
771
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
772
|
+
* @type {Number|undefined}
|
|
773
|
+
* @deprecated
|
|
774
|
+
*/
|
|
775
|
+
defaultHue: {
|
|
776
|
+
get: function () {
|
|
777
|
+
deprecationWarning(
|
|
778
|
+
"ArcGisMapServerImageryProvider.defaultHue",
|
|
779
|
+
"ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
|
|
780
|
+
);
|
|
781
|
+
return this._defaultHue;
|
|
782
|
+
},
|
|
783
|
+
set: function (value) {
|
|
784
|
+
deprecationWarning(
|
|
785
|
+
"ArcGisMapServerImageryProvider.defaultHue",
|
|
786
|
+
"ArcGisMapServerImageryProvider.defaultHue was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.hue instead."
|
|
787
|
+
);
|
|
788
|
+
this._defaultHue = value;
|
|
789
|
+
},
|
|
790
|
+
},
|
|
791
|
+
|
|
792
|
+
/**
|
|
793
|
+
* The default saturation of this provider. 1.0 uses the unmodified imagery color. Less than 1.0 reduces the
|
|
794
|
+
* saturation while greater than 1.0 increases it.
|
|
795
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
796
|
+
* @type {Number|undefined}
|
|
797
|
+
* @deprecated
|
|
798
|
+
*/
|
|
799
|
+
defaultSaturation: {
|
|
800
|
+
get: function () {
|
|
801
|
+
deprecationWarning(
|
|
802
|
+
"ArcGisMapServerImageryProvider.defaultSaturation",
|
|
803
|
+
"ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
|
|
804
|
+
);
|
|
805
|
+
return this._defaultSaturation;
|
|
806
|
+
},
|
|
807
|
+
set: function (value) {
|
|
808
|
+
deprecationWarning(
|
|
809
|
+
"ArcGisMapServerImageryProvider.defaultSaturation",
|
|
810
|
+
"ArcGisMapServerImageryProvider.defaultSaturation was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.saturation instead."
|
|
811
|
+
);
|
|
812
|
+
this._defaultSaturation = value;
|
|
813
|
+
},
|
|
814
|
+
},
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* The default gamma correction to apply to this provider. 1.0 uses the unmodified imagery color.
|
|
818
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
819
|
+
* @type {Number|undefined}
|
|
820
|
+
* @deprecated
|
|
821
|
+
*/
|
|
822
|
+
defaultGamma: {
|
|
823
|
+
get: function () {
|
|
824
|
+
deprecationWarning(
|
|
825
|
+
"ArcGisMapServerImageryProvider.defaultGamma",
|
|
826
|
+
"ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
|
|
827
|
+
);
|
|
828
|
+
return this._defaultGamma;
|
|
829
|
+
},
|
|
830
|
+
set: function (value) {
|
|
831
|
+
deprecationWarning(
|
|
832
|
+
"ArcGisMapServerImageryProvider.defaultGamma",
|
|
833
|
+
"ArcGisMapServerImageryProvider.defaultGamma was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.gamma instead."
|
|
834
|
+
);
|
|
835
|
+
this._defaultGamma = value;
|
|
836
|
+
},
|
|
837
|
+
},
|
|
838
|
+
|
|
839
|
+
/**
|
|
840
|
+
* The default texture minification filter to apply to this provider.
|
|
841
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
842
|
+
* @type {TextureMinificationFilter}
|
|
843
|
+
* @deprecated
|
|
844
|
+
*/
|
|
845
|
+
defaultMinificationFilter: {
|
|
846
|
+
get: function () {
|
|
847
|
+
deprecationWarning(
|
|
848
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter",
|
|
849
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
|
|
850
|
+
);
|
|
851
|
+
return this._defaultMinificationFilter;
|
|
852
|
+
},
|
|
853
|
+
set: function (value) {
|
|
854
|
+
deprecationWarning(
|
|
855
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter",
|
|
856
|
+
"ArcGisMapServerImageryProvider.defaultMinificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.minificationFilter instead."
|
|
857
|
+
);
|
|
858
|
+
this._defaultMinificationFilter = value;
|
|
859
|
+
},
|
|
860
|
+
},
|
|
861
|
+
|
|
862
|
+
/**
|
|
863
|
+
* The default texture magnification filter to apply to this provider.
|
|
864
|
+
* @memberof ArcGisMapServerImageryProvider.prototype
|
|
865
|
+
* @type {TextureMagnificationFilter}
|
|
866
|
+
* @deprecated
|
|
867
|
+
*/
|
|
868
|
+
defaultMagnificationFilter: {
|
|
869
|
+
get: function () {
|
|
870
|
+
deprecationWarning(
|
|
871
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter",
|
|
872
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
|
|
873
|
+
);
|
|
874
|
+
return this._defaultMagnificationFilter;
|
|
875
|
+
},
|
|
876
|
+
set: function (value) {
|
|
877
|
+
deprecationWarning(
|
|
878
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter",
|
|
879
|
+
"ArcGisMapServerImageryProvider.defaultMagnificationFilter was deprecated in CesiumJS 1.104. It will be in CesiumJS 1.107. Use ImageryLayer.magnificationFilter instead."
|
|
880
|
+
);
|
|
881
|
+
this._defaultMagnificationFilter = value;
|
|
882
|
+
},
|
|
883
|
+
},
|
|
730
884
|
});
|
|
731
885
|
|
|
886
|
+
/**
|
|
887
|
+
* Creates an {@link ImageryProvider} which provides tiled imagery hosted by an ArcGIS MapServer. By default, the server's pre-cached tiles are
|
|
888
|
+
* used, if available.
|
|
889
|
+
*
|
|
890
|
+
* @param {Resource|String} url The URL of the ArcGIS MapServer service.
|
|
891
|
+
* @param {ArcGisMapServerImageryProvider.ConstructorOptions} [options] Object describing initialization options.
|
|
892
|
+
* @returns {Promise<ArcGisMapServerImageryProvider>} A promise that resolves to the created ArcGisMapServerImageryProvider.
|
|
893
|
+
*
|
|
894
|
+
* @example
|
|
895
|
+
* const esri = await Cesium.ArcGisMapServerImageryProvider.fromUrl(
|
|
896
|
+
* "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
|
|
897
|
+
* );
|
|
898
|
+
*
|
|
899
|
+
* @exception {RuntimeError} metadata spatial reference specifies an unknown WKID
|
|
900
|
+
* @exception {RuntimeError} metadata fullExtent.spatialReference specifies an unknown WKID
|
|
901
|
+
*/
|
|
902
|
+
ArcGisMapServerImageryProvider.fromUrl = async function (url, options) {
|
|
903
|
+
//>>includeStart('debug', pragmas.debug);
|
|
904
|
+
Check.defined("url", url);
|
|
905
|
+
//>>includeEnd('debug');
|
|
906
|
+
|
|
907
|
+
options = defaultValue(options, defaultValue.EMPTY_OBJECT);
|
|
908
|
+
|
|
909
|
+
const resource = Resource.createIfNeeded(url);
|
|
910
|
+
resource.appendForwardSlash();
|
|
911
|
+
|
|
912
|
+
if (defined(options.token)) {
|
|
913
|
+
resource.setQueryParameters({
|
|
914
|
+
token: options.token,
|
|
915
|
+
});
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
const provider = new ArcGisMapServerImageryProvider(options);
|
|
919
|
+
provider._resource = resource;
|
|
920
|
+
const imageryProviderBuilder = new ImageryProviderBuilder(options);
|
|
921
|
+
const useTiles = defaultValue(options.usePreCachedTilesIfAvailable, true);
|
|
922
|
+
if (useTiles) {
|
|
923
|
+
await requestMetadata(resource, imageryProviderBuilder);
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
imageryProviderBuilder.build(provider);
|
|
927
|
+
provider._readyPromise = Promise.resolve(true);
|
|
928
|
+
return provider;
|
|
929
|
+
};
|
|
930
|
+
|
|
732
931
|
/**
|
|
733
932
|
* Gets the credits to be displayed when a given tile is displayed.
|
|
734
933
|
*
|
|
@@ -736,8 +935,6 @@ Object.defineProperties(ArcGisMapServerImageryProvider.prototype, {
|
|
|
736
935
|
* @param {number} y The tile Y coordinate.
|
|
737
936
|
* @param {number} level The tile level;
|
|
738
937
|
* @returns {Credit[]} The credits to be displayed when the tile is displayed.
|
|
739
|
-
*
|
|
740
|
-
* @exception {DeveloperError} <code>getTileCredits</code> must not be called before the imagery provider is ready.
|
|
741
938
|
*/
|
|
742
939
|
ArcGisMapServerImageryProvider.prototype.getTileCredits = function (
|
|
743
940
|
x,
|
|
@@ -748,8 +945,7 @@ ArcGisMapServerImageryProvider.prototype.getTileCredits = function (
|
|
|
748
945
|
};
|
|
749
946
|
|
|
750
947
|
/**
|
|
751
|
-
* Requests the image for a given tile.
|
|
752
|
-
* not be called before {@link ArcGisMapServerImageryProvider#ready} returns true.
|
|
948
|
+
* Requests the image for a given tile.
|
|
753
949
|
*
|
|
754
950
|
* @param {number} x The tile X coordinate.
|
|
755
951
|
* @param {number} y The tile Y coordinate.
|
|
@@ -757,8 +953,6 @@ ArcGisMapServerImageryProvider.prototype.getTileCredits = function (
|
|
|
757
953
|
* @param {Request} [request] The request object. Intended for internal use only.
|
|
758
954
|
* @returns {Promise<ImageryTypes>|undefined} A promise for the image that will resolve when the image is available, or
|
|
759
955
|
* undefined if there are too many active requests to the server, and the request should be retried later.
|
|
760
|
-
*
|
|
761
|
-
* @exception {DeveloperError} <code>requestImage</code> must not be called before the imagery provider is ready.
|
|
762
956
|
*/
|
|
763
957
|
ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
764
958
|
x,
|
|
@@ -766,14 +960,6 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
|
766
960
|
level,
|
|
767
961
|
request
|
|
768
962
|
) {
|
|
769
|
-
//>>includeStart('debug', pragmas.debug);
|
|
770
|
-
if (!this._ready) {
|
|
771
|
-
throw new DeveloperError(
|
|
772
|
-
"requestImage must not be called before the imagery provider is ready."
|
|
773
|
-
);
|
|
774
|
-
}
|
|
775
|
-
//>>includeEnd('debug');
|
|
776
|
-
|
|
777
963
|
return ImageryProvider.loadImage(
|
|
778
964
|
this,
|
|
779
965
|
buildImageResource(this, x, y, level, request)
|
|
@@ -783,7 +969,7 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
|
783
969
|
/**
|
|
784
970
|
/**
|
|
785
971
|
* Asynchronously determines what features, if any, are located at a given longitude and latitude within
|
|
786
|
-
* a tile.
|
|
972
|
+
* a tile.
|
|
787
973
|
*
|
|
788
974
|
* @param {number} x The tile X coordinate.
|
|
789
975
|
* @param {number} y The tile Y coordinate.
|
|
@@ -793,8 +979,6 @@ ArcGisMapServerImageryProvider.prototype.requestImage = function (
|
|
|
793
979
|
* @return {Promise<ImageryLayerFeatureInfo[]>|undefined} A promise for the picked features that will resolve when the asynchronous
|
|
794
980
|
* picking completes. The resolved value is an array of {@link ImageryLayerFeatureInfo}
|
|
795
981
|
* instances. The array may be empty if no features are found at the given location.
|
|
796
|
-
*
|
|
797
|
-
* @exception {DeveloperError} <code>pickFeatures</code> must not be called before the imagery provider is ready.
|
|
798
982
|
*/
|
|
799
983
|
ArcGisMapServerImageryProvider.prototype.pickFeatures = function (
|
|
800
984
|
x,
|
|
@@ -803,14 +987,6 @@ ArcGisMapServerImageryProvider.prototype.pickFeatures = function (
|
|
|
803
987
|
longitude,
|
|
804
988
|
latitude
|
|
805
989
|
) {
|
|
806
|
-
//>>includeStart('debug', pragmas.debug);
|
|
807
|
-
if (!this._ready) {
|
|
808
|
-
throw new DeveloperError(
|
|
809
|
-
"pickFeatures must not be called before the imagery provider is ready."
|
|
810
|
-
);
|
|
811
|
-
}
|
|
812
|
-
//>>includeEnd('debug');
|
|
813
|
-
|
|
814
990
|
if (!this.enablePickFeatures) {
|
|
815
991
|
return undefined;
|
|
816
992
|
}
|