2013-07-27 4 views
0

저는 esri javascript 3.5를 사용하고 있습니다. 나는 그것을 폴리곤에 그리려는 포인트 목록을 가지고있다. 이 https://developers.arcgis.com/en/javascript/jssamples/util_relation.html을 발견했지만 사용법을 모르겠습니다. 샘플을 얻을 수있는 곳을 알 수 있습니까?948ESRI 자바 스크립트 다각형

 dojo.require("esri.map"); 
    dojo.require("esri.graphic"); 

    var map ; 
    function init() { 
    map = new esri.Map("map",{ 
     basemap:"topo", 
     center:[103.8, 1.35], //long, lat 
     zoom:13 
    }); 
       dojo.connect(map,"onLoad", loadData); 
    }//end init 
    function loadData(){ 
    var arr =[]; 
var p = new esri.geometry.Point(103.8, 1.35); 
arr.push(p); 
p = new esri.geometry.Point(103.8, 1.35222); 
arr.push(p); 
var polySymbolRed = new esri.symbol.SimpleFillSymbol(
       esri.symbol.SimpleLineSymbol.STYLE_SOLID, 
       new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, 
       new dojo.Color([0, 0, 0, 1]), 1), 
       new dojo.Color([255, 0, 0, 0.2]) 
     ); 

var gra = new esri.Graphic(arr,polySymbolRed); 
map.graphics.add(gra); 


    } 

답변

1

당신은 매우 가까이있어 ... 나는 점의 배열을 말해봐, 당신은 단지 조금 .Graphic를 작성하기 전에 해당 배열을 마사지해야합니다

var poly = new esri.geometry.Polygon({ 
       "spatialReference": {" wkid":4326 }, 
       "fields": [{ 
        "name": "FID", 
        "type": "esriFieldTypeOID", 
        "alias": "FID", 
        "domain": null   
       },...] 
      }); 
var ring = new Array(); 

//push points into array 

poly.addRing(ring); 

var gra = new esri.Graphic(poly,polySymbolRed); 
//Maybe: 
//var gra = new esri.Graphic(esri.geometry.geographicToWebMercator(poly),polySymbolRed); 
//depending on what SR your map is using... 
+0

내가 그리려 thee는 다각형 var polygon = new esri.geometry.Polygon (새 esri.SpatialReference ({wkid : 4326}))으로 가리 킵니다. polygon.addRing ([[74.00390625,32.02670629333614], [25.9703383,44.4813038], [26.103418,44.4593175], [26.1695982,44.4587537]]); esrimap.graphics.add (새 esri.Graphic (polygon, polylineSymbol)); 하지만 폴리 라인을 그려야합니다 –

+0

변수'polylineSymbol'은 문제가 어디에 있는지를 나타내는 것처럼 보입니다 :) (다각형은 실제로 LineSymbol 대신 FillSymbol이있는 폴리 라인입니다 - 그리면 LineSymbol을 그릴 것입니다 선으로.) – Juffy

-1
var polygon = new Polygon(new SpatialReference({wkid:4326})); 
polygon.addRing([[-120,30],[-120,40],[-110,40],[-110,30],[-120,30]]) 

var point = new Point(-115, 35, {"spatialReference":{"wkid":4326 }}) 
polygon.contains(point); //returns true