यहां JSON ज्योमेट्री ऑब्जेक्ट्स पर Esri's doc का लिंक दिया गया है । उस पेज से:
REST API 4 ज्यामिति प्रकारों का समर्थन करता है - अंक, पॉलीइलीन, बहुभुज और लिफाफे।
बहु-बहुभुज जैसी ध्वनियों का समर्थन नहीं किया जाता है। निचे देखो। आप अतिरिक्त छल्ले जोड़कर बहु-बहुभुज बना सकते हैं। आंतरिक v। बाहरी रिंगों के बारे में कुछ भी स्पष्ट नहीं है। मैं उत्सुक हूं इसलिए मैं इस पर गौर करने जा रहा हूं ... अगर मुझे कुछ और मिला तो मैं इस पोस्ट को संपादित करूंगा।
संपादित करें: मैंने इसे थोड़ा और अधिक देखा। ऐसा लगता है कि यदि आप एक मौजूदा रिंग के अंदर गिरने वाले छल्ले जोड़ते हैं, तो आंतरिक रिंग छेद हैं। यदि आप एक ऐसी अंगूठी जोड़ते हैं जो दूसरी अंगूठी के अंदर नहीं है, तो इसे अतिरिक्त बहुभुज के रूप में जोड़ा जाता है जो मूल रूप से एक बहु-बहुभुज है। यहाँ एक सरल पृष्ठ है जो यह दिखाता है:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Polygons!</title>
<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.1/js/dojo/dijit/themes/claro/claro.css">
<style>
html, body { height: 100%; width: 100%; margin: 0; padding: 0; }
#map{
padding:0;
}
</style>
<script type="text/javascript">var djConfig = {parseOnLoad: true};</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.1"></script>
<script type="text/javascript">
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("esri.map");
var map;
function init() {
var initExtent = new esri.geometry.Extent({"xmin":-12959519,"ymin":3696971,"xmax":-9444639,"ymax":5453188,"spatialReference":{"wkid":102100}});
map = new esri.Map("map",{extent:initExtent});
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer");
map.addLayer(basemap);
var resizeTimer;
dojo.connect(map, 'onLoad', function(theMap) {
dojo.connect(dijit.byId('map'), 'resize', function() { //resize the map if the div is resized
clearTimeout(resizeTimer);
resizeTimer = setTimeout( function() {
map.resize();
map.reposition();
}, 500);
});
var poly = new esri.geometry.Polygon({"rings":
[
[[-11214840,4858704],[-10520181,4853812],[-10510397,4149368],[-11219732,4144476],[-11214840,4858704]], // ring #1, poly with two holes
[[-11097433,4770648],[-10916430,4770648],[-10916430,4609213],[-10984918,4560294],[-11097433,4614105],[-11097433,4770648]], // ring #2, a hole
[[-10779455,4472238],[-10622912,4349939],[-10750103,4242315],[-10833267,4296127],[-10779455,4472238]], // ring #3, another hole
[[-11298004,4614105],[-11293112,4310803],[-11571954,4305911],[-11542602,4584753],[-11298004,4614105]] // ring #4, western polygon
],
"spatialReference":{"wkid":102100}
});
var sym = new esri.symbol.SimpleFillSymbol({"color":[255,255,0,64],"outline":{"color":[255,0,0,255],"width":1.5,"type":"esriSLS","style":"esriSLSDashDot"},"type":"esriSFS","style":"esriSFSSolid"});
var graphic = new esri.Graphic(poly, sym);
map.graphics.add(graphic);
});
}
dojo.addOnLoad(init);
</script>
</head>
<body class="claro">
<div dojotype="dijit.layout.BorderContainer" design="headline" gutters="false"
style="width: 100%; height: 100%; margin: 0;">
<div id="map" dojotype="dijit.layout.ContentPane" region="center" style="overflow:hidden;">
</div>
</div>
</body>
</html>
यदि आप उस पृष्ठ को लोड करते हैं, तो पहली रिंग दो छेद वाला वर्ग है। दो छेद दो और तीन छल्ले हैं। पश्चिमी सबसे बहुभुज में चौथी अंगूठी। यह दो ग्राफिक्स की तरह लग सकता है लेकिन यह वास्तव में सिर्फ एक है।