Как получить карту SceneView для отображения в контейнере div? - PullRequest
0 голосов
/ 28 июня 2018

Я пытаюсь добавить карту на свой сайт, используя SceneView. Приведенный ниже код работает, но когда я помещаю div «map» внутри другого div (чтобы держать его внутри бокового контейнера на сайте), карта не отображается. Любая идея, как я могу разместить эту карту внутри контейнера на моем сайте?

<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="stylesheet" href="https://js.arcgis.com/4.7/esri/css/main.css">
<script src="https://js.arcgis.com/4.7/"></script>
<title>Test</title>
<script>
require([
  "esri/Map",
  "esri/views/SceneView",
  "esri/layers/FeatureLayer",
  "dojo/dom",
  "dojo/on",
  "dojo/domReady!"
],
  function (
    Map, SceneView, FeatureLayer, dom, on
  ) {
    var testLyr = new FeatureLayer({
      url: "https://services6.arcgis.com/grQMCkNtRcJiU5y9/ArcGIS/rest/services/ColoradoTest/FeatureServer/0",
      id: "streets"
    });

    var housingLyr = new FeatureLayer({
      url: "https://services6.arcgis.com/grQMCkNtRcJiU5y9/ArcGIS/rest/services/ColoradoTest/FeatureServer/1",
      id: "housing"
    });

    //map constructor
    var map = new Map({
      basemap: "topo",
    });
    var view = new SceneView({
      container: "map",
      map: map,
      center: [-104.99, 39.74],
      zoom: 8,
    });
    //add the layers to the map
    map.add(testLyr);
    map.add(housingLyr);

    view.when(function () {
      housingLyr.when(function () {
        view.goTo(housingLyr.fullExtent);
      });
    });
  });
  </script>
 <style>
  html,
  body,
  #map {
  height: 100%;
  padding: 0;
  margin: 0;
  }
 </style>
</head>

<body>
 <div id="map"></div>
</body>
</html>
...