2016-08-24 17 views
0

Esriマップにマーカーを追加し、すべてのマーカーが表示されているズームレベルでマップを表示したい。私は最小と最大のlat-lngを計算し、範囲を設定しました。しかし、それは動作しません。座標 緯度、経度を考える :41.984440、-87.827278 緯度、経度:41.874489、-87.705772最小 - 最大計算gps座標から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>

です
関連する問題