Select to view content in your preferred language

Setting Map Extent Based on Layer Extent

4127
10
Jump to solution
01-04-2018 12:04 PM
deleted-user-1_r2dgYuILKY
Deactivated User

I want to set my map's extent to the extent of a feature layer. This layer will be updated regularly and the extent will be different every time. I'm following this example, and substituted my layer. It's not showing up, and the extent is far to the north of my feature. I'm getting this error in the console: Map: Geometry (wkid: 3395) cannot be converted to spatial reference of the map (wkid: 102100). I've tried setting the spatial reference of the map and the layer, to no avail. 

<html>  
  
<head>  
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
  <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no">  
  <title>Resource Loader Test</title>  
  
  <link rel="stylesheet" href="http://js.arcgis.com/3.23/dijit/themes/claro/claro.css">  
  <link rel="stylesheet" href="http://js.arcgis.com/3.23/esri/css/esri.css">  
  
  <script src="http://js.arcgis.com/3.23/"></script>  
  <script>  
    require([  
      "esri/map",  
      "esri/layers/FeatureLayer",            
      "esri/geometry/Extent",  
      "esri/SpatialReference",  
      "dojo/on",  
      "dojo/domReady!"  
    ],  
  
      function (Map, FeatureLayer, Extent, SpatialReference, on) {  
       
       var typhoonOutlineURL = "http://<ourserver>/arcgis/rest/services/typhoon_outlines/MapServer/0";
       
        var myLyr = new FeatureLayer(typhoonOutlineURL, {  
          mode: FeatureLayer.MODE_ONDEMAND,  
           
        });  
  
        myLyr.on('load', initMap);  
          
          
  
        function initMap() {  
          var mapMain = new Map("mapDiv", {  
            basemap: "dark-gray",  
            extent: myLyr.fullExtent,  
            zoom: 3
          
          });  
  
          mapMain.addLayer(myLyr);  
  
            
        }  
  
      });  
  </script>  
  
</head>  
  
<body class="claro">  
  <div id="mapDiv" style="width:900px; height:600px;"></div>  
  <div id="mapInfo"></div>  
</body>  
  
</html>  ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
0 Kudos
10 Replies
deleted-user-1_r2dgYuILKY
Deactivated User

Ah duh, my layer wasn't visible. The extent works though. 

0 Kudos