Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace createSomeImageryProvider functions with SomeImageryProvider class #6203

Merged
merged 15 commits into from
Sep 18, 2019
6 changes: 3 additions & 3 deletions Apps/CesiumViewer/CesiumViewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ define([
'Cesium/DataSources/CzmlDataSource',
'Cesium/DataSources/GeoJsonDataSource',
'Cesium/DataSources/KmlDataSource',
'Cesium/Scene/createTileMapServiceImageryProvider',
'Cesium/Scene/TileMapServiceImageryProvider',
'Cesium/Widgets/Viewer/Viewer',
'Cesium/Widgets/Viewer/viewerCesiumInspectorMixin',
'Cesium/Widgets/Viewer/viewerDragDropMixin',
Expand All @@ -25,7 +25,7 @@ define([
CzmlDataSource,
GeoJsonDataSource,
KmlDataSource,
createTileMapServiceImageryProvider,
TileMapServiceImageryProvider,
Viewer,
viewerCesiumInspectorMixin,
viewerDragDropMixin) {
Expand Down Expand Up @@ -54,7 +54,7 @@ define([

var imageryProvider;
if (defined(endUserOptions.tmsImageryUrl)) {
imageryProvider = createTileMapServiceImageryProvider({
imageryProvider = new TileMapServiceImageryProvider({
url : endUserOptions.tmsImageryUrl
});
}
Expand Down
2 changes: 1 addition & 1 deletion Apps/Sandcastle/gallery/Imagery Cutout.html
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
'use strict';
//Sandcastle_Begin
var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProvider : Cesium.createTileMapServiceImageryProvider({
imageryProvider : new Cesium.TileMapServiceImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
}),
baseLayerPicker : false
Expand Down
192 changes: 103 additions & 89 deletions Apps/Sandcastle/gallery/Imagery Layers Manipulation.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,29 @@
<body class="sandcastle-loading" data-sandcastle-bucket="bucket-requirejs.html">
<style>
@import url(../templates/bucket.css);

#toolbar {
background: rgba(42, 42, 42, 0.8);
padding: 4px;
border-radius: 4px;
}

#toolbar input {
vertical-align: middle;
padding-top: 2px;
padding-bottom: 2px;
}

#toolbar table tr {
transform: translateY(0);
transition: transform 0.4s ease-out;
}

#toolbar table tr.up {
transform: translateY(33px);
transition: none;
}

#toolbar table tr.down {
transform: translateY(-33px);
transition: none;
Expand All @@ -47,20 +52,30 @@
<div id="cesiumContainer" class="fullSize"></div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar">
<table><tbody data-bind="foreach: layers">
<tr data-bind="css: { up: $parent.upLayer === $data, down: $parent.downLayer === $data }">
<td><input type="checkbox" data-bind="checked: show"></td>
<td>
<span data-bind="text: name, visible: !$parent.isSelectableLayer($data)"></span>
<select data-bind="visible: $parent.isSelectableLayer($data), options: $parent.baseLayers, optionsText: 'name', value: $parent.selectedLayer"></select>
</td>
<td>
<input type="range" min="0" max="1" step="0.01" data-bind="value: alpha, valueUpdate: 'input'">
</td>
<td><button type="button" class="cesium-button" data-bind="click: function() { $parent.raise($data, $index()); }, visible: $parent.canRaise($index())">&#9650;</button></td>
<td><button type="button" class="cesium-button" data-bind="click: function() { $parent.lower($data, $index()); }, visible: $parent.canLower($index())">&#9660;</button></td>
</tr>
</tbody></table>
<table>
<tbody data-bind="foreach: layers">
<tr data-bind="css: { up: $parent.upLayer === $data, down: $parent.downLayer === $data }">
<td><input type="checkbox" data-bind="checked: show"></td>
<td>
<span data-bind="text: name, visible: !$parent.isSelectableLayer($data)"></span>
<select data-bind="visible: $parent.isSelectableLayer($data), options: $parent.baseLayers, optionsText: 'name', value: $parent.selectedLayer"></select>
</td>
<td>
<input type="range" min="0" max="1" step="0.01" data-bind="value: alpha, valueUpdate: 'input'">
</td>
<td>
<button type="button" class="cesium-button" data-bind="click: function() { $parent.raise($data, $index()); }, visible: $parent.canRaise($index())">
</button>
</td>
<td>
<button type="button" class="cesium-button" data-bind="click: function() { $parent.lower($data, $index()); }, visible: $parent.canLower($index())">
</button>
</td>
</tr>
</tbody>
</table>
</div>
<script id="cesium_sandcastle_script">
function startup(Cesium) {
Expand All @@ -85,14 +100,18 @@
viewModel.upLayer = layer;
viewModel.downLayer = viewModel.layers[Math.max(0, index - 1)];
updateLayerList();
window.setTimeout(function() { viewModel.upLayer = viewModel.downLayer = null; }, 10);
window.setTimeout(function() {
viewModel.upLayer = viewModel.downLayer = null;
}, 10);
},
lower : function(layer, index) {
imageryLayers.lower(layer);
viewModel.upLayer = viewModel.layers[Math.min(viewModel.layers.length - 1, index + 1)];
viewModel.downLayer = layer;
updateLayerList();
window.setTimeout(function() { viewModel.upLayer = viewModel.downLayer = null; }, 10);
window.setTimeout(function() {
viewModel.upLayer = viewModel.downLayer = null;
}, 10);
},
canRaise : function(layerIndex) {
return layerIndex > 0;
Expand All @@ -111,93 +130,88 @@
// enabled at once, just like the other layers, but it doesn't make much sense because
// all of these layers cover the entire globe and are opaque.
addBaseLayerOption(
'Bing Maps Aerial',
undefined); // the current base layer
addBaseLayerOption(
'Bing Maps Road',
new Cesium.BingMapsImageryProvider({
url : 'https://dev.virtualearth.net',
mapStyle: Cesium.BingMapsStyle.ROAD
}));
'Bing Maps Aerial',
undefined); // the current base layer
addBaseLayerOption(
'ArcGIS World Street Maps',
new Cesium.ArcGisMapServerImageryProvider({
url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer'
}));
'Bing Maps Road',
new Cesium.BingMapsImageryProvider({
url : 'https://dev.virtualearth.net',
mapStyle : Cesium.BingMapsStyle.ROAD
}));
addBaseLayerOption(
'OpenStreetMaps',
Cesium.createOpenStreetMapImageryProvider());
'ArcGIS World Street Maps',
new Cesium.ArcGisMapServerImageryProvider({
url : 'https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer'
}));
addBaseLayerOption(
'MapQuest OpenStreetMaps',
Cesium.createOpenStreetMapImageryProvider({
url : 'https://otile1-s.mqcdn.com/tiles/1.0.0/osm/'
}));
'OpenStreetMaps',
new Cesium.OpenStreetMapImageryProvider());
addBaseLayerOption(
'Stamen Maps',
Cesium.createOpenStreetMapImageryProvider({
url : 'https://stamen-tiles.a.ssl.fastly.net/watercolor/',
fileExtension: 'jpg',
credit: 'Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.'
}));
'Stamen Maps',
new Cesium.OpenStreetMapImageryProvider({
url : 'https://stamen-tiles.a.ssl.fastly.net/watercolor/',
fileExtension : 'jpg',
credit : 'Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under CC BY SA.'
}));
addBaseLayerOption(
'Natural Earth II (local)',
Cesium.createTileMapServiceImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
}));
'Natural Earth II (local)',
new Cesium.TileMapServiceImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
}));
addBaseLayerOption(
'USGS Shaded Relief (via WMTS)',
new Cesium.WebMapTileServiceImageryProvider({
url : 'http://basemap.nationalmap.gov/arcgis/rest/services/USGSShadedReliefOnly/MapServer/WMTS',
layer : 'USGSShadedReliefOnly',
style : 'default',
format : 'image/jpeg',
tileMatrixSetID : 'default028mm',
maximumLevel: 19,
credit : 'U. S. Geological Survey'
}));
'USGS Shaded Relief (via WMTS)',
new Cesium.WebMapTileServiceImageryProvider({
url : 'http://basemap.nationalmap.gov/arcgis/rest/services/USGSShadedReliefOnly/MapServer/WMTS',
layer : 'USGSShadedReliefOnly',
style : 'default',
format : 'image/jpeg',
tileMatrixSetID : 'default028mm',
maximumLevel : 19,
credit : 'U. S. Geological Survey'
}));

// Create the additional layers
addAdditionalLayerOption(
'United States GOES Infrared',
new Cesium.WebMapServiceImageryProvider({
url : 'https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/conus_ir.cgi?',
layers : 'goes_conus_ir',
credit : 'Infrared data courtesy Iowa Environmental Mesonet',
parameters : {
transparent : 'true',
format : 'image/png'
}
}));
'United States GOES Infrared',
new Cesium.WebMapServiceImageryProvider({
url : 'https://mesonet.agron.iastate.edu/cgi-bin/wms/goes/conus_ir.cgi?',
layers : 'goes_conus_ir',
credit : 'Infrared data courtesy Iowa Environmental Mesonet',
parameters : {
transparent : 'true',
format : 'image/png'
}
}));
addAdditionalLayerOption(
'United States Weather Radar',
new Cesium.WebMapServiceImageryProvider({
url : 'https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi?',
layers : 'nexrad-n0r',
credit : 'Radar data courtesy Iowa Environmental Mesonet',
parameters : {
transparent : 'true',
format : 'image/png'
}
}));
'United States Weather Radar',
new Cesium.WebMapServiceImageryProvider({
url : 'https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi?',
layers : 'nexrad-n0r',
credit : 'Radar data courtesy Iowa Environmental Mesonet',
parameters : {
transparent : 'true',
format : 'image/png'
}
}));
addAdditionalLayerOption(
'TileMapService Image',
Cesium.createTileMapServiceImageryProvider({
url : '../images/cesium_maptiler/Cesium_Logo_Color'
}),
0.2);
'TileMapService Image',
new Cesium.TileMapServiceImageryProvider({
url : '../images/cesium_maptiler/Cesium_Logo_Color'
}),
0.2);
addAdditionalLayerOption(
'Single Image',
new Cesium.SingleTileImageryProvider({
url : '../images/Cesium_Logo_overlay.png',
rectangle : Cesium.Rectangle.fromDegrees(-115.0, 38.0, -107, 39.75)
}),
1.0);
'Single Image',
new Cesium.SingleTileImageryProvider({
url : '../images/Cesium_Logo_overlay.png',
rectangle : Cesium.Rectangle.fromDegrees(-115.0, 38.0, -107, 39.75)
}),
1.0);
addAdditionalLayerOption(
'Grid',
new Cesium.GridImageryProvider(), 1.0, false);
'Grid',
new Cesium.GridImageryProvider(), 1.0, false);
addAdditionalLayerOption(
'Tile Coordinates',
new Cesium.TileCoordinatesImageryProvider(), 1.0, false);
'Tile Coordinates',
new Cesium.TileCoordinatesImageryProvider(), 1.0, false);
}

function addBaseLayerOption(name, imageryProvider) {
Expand Down
4 changes: 2 additions & 2 deletions Apps/Sandcastle/gallery/Imagery Layers Texture Filters.html
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@
var layers = viewer.imageryLayers;
layers.removeAll();

var layerLinear = layers.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
var layerLinear = layers.addImageryProvider(new Cesium.TileMapServiceImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
}));

var layerNearest = layers.addImageryProvider(Cesium.createTileMapServiceImageryProvider({
var layerNearest = layers.addImageryProvider(new Cesium.TileMapServiceImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
}));

Expand Down
2 changes: 1 addition & 1 deletion Apps/Sandcastle/gallery/Offline.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
// https://github.com/AnalyticalGraphicsInc/cesium/wiki/Offline-Guide

var viewer = new Cesium.Viewer('cesiumContainer', {
imageryProvider : Cesium.createTileMapServiceImageryProvider({
imageryProvider : new Cesium.TileMapServiceImageryProvider({
url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
}),
baseLayerPicker : false,
Expand Down
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@ Change Log

### 1.62 - 2019-10-01

##### Deprecated :hourglass_flowing_sand:
* `createTileMapServiceImageryProvider` and `createOpenStreetMapImageryProvider` have been deprecated and will be removed in Cesium 1.65. Instead, pass the same options to `new TileMapServiceImageryProvider` and `new OpenStreetMapImageryProvider` respectively.

##### Additions :tada:
* Added ability to create partial ellipsoids using both the Entity API and CZML. New ellipsoid geometry properties: `innerRadii`, `minimumClock`, `maximumClock`, `minimumCone`, and `maximumCone`. This affects both `EllipsoidGeometry` and `EllipsoidOutlineGeometry`. See the updated [Sandcastle example](https://cesiumjs.org/Cesium/Apps/Sandcastle/?src=Partial%20Ellipsoids.html&label=Geometries). [#5995](https://github.com/AnalyticalGraphicsInc/cesium/pull/5995)
* Added `TileMapResourceImageryProvider` and `OpenStreetMapImageryProvider` classes to improve API consistency: [#4812](https://github.com/AnalyticalGraphicsInc/cesium/issues/4812)

##### Fixes :wrench:
* `Camera.flyTo` flies to the correct location in 2D when the destination crosses the international date line [#7909](https://github.com/AnalyticalGraphicsInc/cesium/pull/7909)
Expand Down
4 changes: 2 additions & 2 deletions Source/Scene/ArcGisMapServerImageryProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,9 @@ define([
*
* @see BingMapsImageryProvider
* @see GoogleEarthEnterpriseMapsProvider
* @see createOpenStreetMapImageryProvider
* @see OpenStreetMapImageryProvider
* @see SingleTileImageryProvider
* @see createTileMapServiceImageryProvider
* @see TileMapServiceImageryProvider
* @see WebMapServiceImageryProvider
* @see WebMapTileServiceImageryProvider
* @see UrlTemplateImageryProvider
Expand Down
4 changes: 2 additions & 2 deletions Source/Scene/BingMapsImageryProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ define([
*
* @see ArcGisMapServerImageryProvider
* @see GoogleEarthEnterpriseMapsProvider
* @see createOpenStreetMapImageryProvider
* @see OpenStreetMapImageryProvider
* @see SingleTileImageryProvider
* @see createTileMapServiceImageryProvider
* @see TileMapServiceImageryProvider
* @see WebMapServiceImageryProvider
* @see WebMapTileServiceImageryProvider
* @see UrlTemplateImageryProvider
Expand Down
4 changes: 2 additions & 2 deletions Source/Scene/GoogleEarthEnterpriseImageryProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@ define([
* @see GoogleEarthEnterpriseTerrainProvider
* @see ArcGisMapServerImageryProvider
* @see GoogleEarthEnterpriseMapsProvider
* @see createOpenStreetMapImageryProvider
* @see OpenStreetMapImageryProvider
* @see SingleTileImageryProvider
* @see createTileMapServiceImageryProvider
* @see TileMapServiceImageryProvider
* @see WebMapServiceImageryProvider
* @see WebMapTileServiceImageryProvider
* @see UrlTemplateImageryProvider
Expand Down
4 changes: 2 additions & 2 deletions Source/Scene/GoogleEarthEnterpriseMapsProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -86,9 +86,9 @@ define([
*
* @see ArcGisMapServerImageryProvider
* @see BingMapsImageryProvider
* @see createOpenStreetMapImageryProvider
* @see OpenStreetMapImageryProvider
* @see SingleTileImageryProvider
* @see createTileMapServiceImageryProvider
* @see TileMapServiceImageryProvider
* @see WebMapServiceImageryProvider
* @see WebMapTileServiceImageryProvider
* @see UrlTemplateImageryProvider
Expand Down
4 changes: 2 additions & 2 deletions Source/Scene/ImageryProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ define([
*
* @see ArcGisMapServerImageryProvider
* @see BingMapsImageryProvider
* @see createOpenStreetMapImageryProvider
* @see createTileMapServiceImageryProvider
* @see OpenStreetMapImageryProvider
* @see TileMapServiceImageryProvider
* @see GoogleEarthEnterpriseImageryProvider
* @see GoogleEarthEnterpriseMapsProvider
* @see GridImageryProvider
Expand Down
Loading