ArcGisMapService.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import Credit from "../Core/Credit.js";
  2. import defined from "../Core/defined.js";
  3. import Resource from "../Core/Resource.js";
  4. let defaultTokenCredit;
  5. const defaultAccessToken =
  6. "AAPKd815e334cb774973b7245e23a67f4d08Js7A8e8xvfBpgnZIzp1jbL3FWJTmx7AKG8wa87OwDcWEu4CxQCNiydpPbGpALiTf";
  7. /**
  8. * Default options for accessing the ArcGIS image tile service.
  9. *
  10. * An ArcGIS access token is required to access ArcGIS image tile layers.
  11. * A default token is provided for evaluation purposes only.
  12. * To obtain an access token, go to {@link https://developers.arcgis.com} and create a free account.
  13. * More info can be found in the {@link https://developers.arcgis.com/documentation/mapping-apis-and-services/security/ | ArcGIS developer guide}.
  14. *
  15. * @see ArcGisMapServerImageryProvider
  16. * @namespace ArcGisMapService
  17. */
  18. const ArcGisMapService = {};
  19. /**
  20. * Gets or sets the default ArcGIS access token.
  21. *
  22. * @type {string}
  23. */
  24. ArcGisMapService.defaultAccessToken = defaultAccessToken;
  25. /**
  26. * Gets or sets the URL of the ArcGIS World Imagery tile service.
  27. *
  28. * @type {string|Resource}
  29. * @default https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer
  30. */
  31. ArcGisMapService.defaultWorldImageryServer = new Resource({
  32. url:
  33. "https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer",
  34. });
  35. /**
  36. * Gets or sets the URL of the ArcGIS World Hillshade tile service.
  37. *
  38. * @type {string|Resource}
  39. * @default https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer
  40. */
  41. ArcGisMapService.defaultWorldHillshadeServer = new Resource({
  42. url:
  43. "https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer",
  44. });
  45. /**
  46. * Gets or sets the URL of the ArcGIS World Oceans tile service.
  47. *
  48. * @type {string|Resource}
  49. * @default https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer
  50. */
  51. ArcGisMapService.defaultWorldOceanServer = new Resource({
  52. url:
  53. "https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer",
  54. });
  55. /**
  56. *
  57. * @param {string} providedKey
  58. * @return {string|undefined}
  59. */
  60. ArcGisMapService.getDefaultTokenCredit = function (providedKey) {
  61. if (providedKey !== defaultAccessToken) {
  62. return undefined;
  63. }
  64. if (!defined(defaultTokenCredit)) {
  65. const defaultTokenMessage =
  66. '<b> \
  67. This application is using a default ArcGIS access token. Please assign <i>Cesium.ArcGisMapService.defaultAccessToken</i> \
  68. with an API key from your ArcGIS Developer account before using the ArcGIS tile services. \
  69. You can sign up for a free ArcGIS Developer account at <a href="https://developers.arcgis.com/">https://developers.arcgis.com/</a>.</b>';
  70. defaultTokenCredit = new Credit(defaultTokenMessage, true);
  71. }
  72. return defaultTokenCredit;
  73. };
  74. export default ArcGisMapService;