Базовый слой тайлов ESRI не отображается с использованием ArcGIS JavaScript API v4.12

Я пытаюсь загрузить слой плитки ESRI на HTML-страницу, но по какой-то причине карта не отображается.

Это должен быть простой процесс, и я не могу определить, в чем проблема (я не получаю сообщений об ошибках в окне консоли).

Какие-либо предложения?

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />
    <title>Load a basic WebMap - 4.12</title>

    <style>
      html,
      body,
      #viewDiv {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
      }
    </style>

    <link
      rel="stylesheet"
      href="https://js.arcgis.com/4.12/esri/themes/light/main.css"
    />

    <script src="https://js.arcgis.com/4.12/"></script>

    <script>
      require([
        "esri/Map",
        "esri/views/MapView",
        "esri/layers/TileLayer"
      ], function(TileLayer, Map, MapView) {
        var layer = new TileLayer({
          url:
            "https://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer"
        });

        var map = new Map({
          layers: [layer]
        });

        var view = new MapView({
          container: "viewDiv",
          map: map
        });
      });
    </script>
  </head>

  <body>
    <div id="viewDiv"></div>
  </body>
</html>

person Chris    schedule 17.09.2019    source источник


Ответы (1)


Потому что ваш порядок импорта неправильный. Вы должны изменить эту строку

function(TileLayer, Map, MapView)

to

function(Map, MapView,TileLayer) {

https://jsfiddle.net/h31m5ub7/

Полный код :; `

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <meta
      name="viewport"
      content="initial-scale=1,maximum-scale=1,user-scalable=no"
    />
    <title>Load a basic WebMap - 4.12</title>

    <style>
      html,
      body,
      #viewDiv {
        padding: 0;
        margin: 0;
        height: 100%;
        width: 100%;
      }
    </style>
    <link
      rel="stylesheet"
      href="https://js.arcgis.com/4.12/esri/themes/light/main.css"
    />
    <script src="https://js.arcgis.com/4.12/"></script>
    <script>
      require([
        "esri/Map",
        "esri/views/MapView",
        "esri/layers/TileLayer"
      ], function(Map, MapView,TileLayer) {
        var layer = new TileLayer({
          url:            "https://services.arcgisonline.com/arcgis/rest/services/World_Terrain_Base/MapServer"
        });
        var map = new Map({
          layers: [layer]
        });

        var view = new MapView({
          container: "viewDiv",
          map: map
        });
      });
    </script>
  </head>
  <body>
    <div id="viewDiv"></div>
  </body>
</html>
person Muhammet Can TONBUL    schedule 17.09.2019