2016-08-24 8 views
0

Esri지도에 일부 표시자를 추가하고 모든 표시자를 볼 수있는 확대/축소 수준으로지도를 표시하려고합니다. 최소 및 최대 lat-lng를 계산하고 범위를 설정했습니다. 그러나 그것은 작동하지 않습니다. 41.984440, -87.827278 위도, 경도 : 위도 좌표 , 경도 주어 41.874489, -87.705772GPS 좌표에서 Esri지도 범위를 계산하십시오

최소 - 최대 계산치 : XMAX "- 87.827278" 이 xMin "- 87.705772" yMax 인 "41.984440" Ymin를 "41.874489" 예상되는 결과 :. enter image description here

> EsriSetMapExtent:function(obj) 
>  { 
>  var extent = new esri.geometry.Extent(obj.xMin, obj.yMin, obj.xMax, obj.yMax); 
>  m.esriMap.setExtent(extent); 
>  }, 

답변

1

이 xMin 및 XMAX의 값이 반전되어, 오직 X 축, 계산을 수행하는 기능을 확인해주십시오. 당신이 그것을 바꾼다면 효과가있을 것입니다. 다음은 작업 예제

<!DOCTYPE html> 
 
<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>Simple Map</title> 
 
    <link rel="stylesheet" href="https://js.arcgis.com/3.17/esri/css/esri.css"> 
 
    <style> 
 
     html, body, #map { 
 
     height: 100%; 
 
     margin: 0; 
 
     padding: 0; 
 
     } 
 
    </style> 
 
    <script src="https://js.arcgis.com/3.17/"></script> 
 
    <script> 
 
     var map; 
 

 
     require(["esri/map","esri/geometry/Extent", "esri/SpatialReference", "esri/geometry/Point", "esri/symbols/SimpleMarkerSymbol", 
 
    "esri/Color", "esri/graphic", "dojo/domReady!"], function(Map, Extent, SpatialReference, Point, SimpleMarkerSymbol, Color, Graphic) { 
 
     map = new Map("map", { 
 
      basemap: "topo", //For full list of pre-defined basemaps, navigate to http://arcg.is/1JVo6Wd 
 
      center: [-87.705772, 41.874489], // longitude, latitude 
 
      zoom: 13 
 
     }); 
 
     
 
     map.on('load', function(evt){ 
 
      var pt = new Point(-87.705772, 41.874489, new SpatialReference({wkid:4326})) 
 
      var sms = new SimpleMarkerSymbol().setStyle(SimpleMarkerSymbol.STYLE_SQUARE).setColor(
 
      new Color([255,0,0,0.5])); 
 
      var graphic = new Graphic(pt,sms); 
 
      map.graphics.add(graphic); 
 
      
 
      pt = new Point(-87.827278, 41.984440, new SpatialReference({wkid:4326})) 
 
      sms = new SimpleMarkerSymbol().setStyle(SimpleMarkerSymbol.STYLE_SQUARE).setColor(
 
      new Color([0,255,0,0.5])); 
 
      graphic = new Graphic(pt,sms); 
 
      map.graphics.add(graphic); 
 
     }) 
 
     
 
     var extent = new Extent(-87.827278, 41.874489, -87.705772, 41.984440, new SpatialReference({ wkid:4326 })); 
 
     
 
     map.setExtent(extent, true); 
 
     }); 
 
    </script> 
 
    </head> 
 

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

입니다