<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css"><style> html, body { height: 100%; width: 100%; margin: 0; padding: 0; }</style><script src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6" type="text/javascript"></script><script type="text/javascript"> dojo.require("esri.map"); var map = null; var gsvc = null; var qtask = null; var polygonGraphic = null; var polygonGraphic2 = null; var queryGraphic = null; var extent = null; function initialize() { map = new esri.Map("map"); dojo.connect(map, "onLoad", function () { drawPolygon(); drawPolygon2(); }); var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"); map.addLayer(layer); extent = map.setExtent(new esri.geometry.Extent({"xmin":-115.960,"ymin":36.524,"xmax":-115.734,"ymax":36.648,"spatialReference":{"wkid":4269}})); gsvc = new esri.tasks.GeometryService("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); qtask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/0"); } function drawPolygon() { var polygon = {"rings":[[ [-115.930, 36.540], [-115.740, 36.540], [-115.740, 36.640], [-115.930, 36.640], [-115.930, 36.540] ]], "spatialReference":{" wkid":4269}}; var polygon = new esri.geometry.Polygon(polygon); var symbol = new esri.symbol.SimpleFillSymbol().setStyle(esri.symbol.SimpleFillSymbol.STYLE_NULL); polygonGraphic = new esri.Graphic(polygon, symbol); map.graphics.add(polygonGraphic); } function drawPolygon2() { var polygon2 = {"rings":[[ [-115.950, 36.520], [-115.740, 36.520], [-115.740, 36.650], [-115.950, 36.650], [-115.950, 36.520] ]], "spatialReference":{" wkid":4269}}; var polygon2 = new esri.geometry.Polygon(polygon2); var symbol2 = new esri.symbol.SimpleFillSymbol().setStyle(esri.symbol.SimpleFillSymbol.STYLE_CROSS); polygonGraphic2 = new esri.Graphic(polygon2, symbol2); map.graphics.add(polygonGraphic2); } function doQuery() { var query = new esri.tasks.Query(); query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_CONTAINS; query.geometry = polygonGraphic2.geometry; query.returnGeometry = true; qtask.execute(query, queryCallback); } function queryCallback(featureSet) { var symbol = new esri.symbol.SimpleMarkerSymbol(); symbol.style = esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE; symbol.setSize(15); symbol.setColor(new dojo.Color([255,255,0,0.5])); var features = featureSet.features; dojo.forEach(features, function(feature) { feature.setSymbol(symbol); map.graphics.add(feature); }); } dojo.addOnLoad(initialize);</script></head><body class="tundra"><input type="button" value="Query for points within the polygon graphic." onclick="doQuery();" /><div id="map" style="width:1000px; height:600px; border:1px solid #000;"></div></body></html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title><link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css"><style> html, body { height: 100%; width: 100%; margin: 0; padding: 0; }</style><script src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6" type="text/javascript"></script><script type="text/javascript"> dojo.require("esri.map"); var map = null; var gsvc = null; var qtask = null; var polygonGraphic = null; var queryGraphic = null; function initialize() { map = new esri.Map("map"); dojo.connect(map, "onLoad", function () { drawPolygon(); }); var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/PublicSafety/PublicSafetyBasemap/MapServer/"); map.addLayer(layer); map.setExtent(new esri.geometry.Extent({"xmin":-85.96,"ymin":37.985,"xmax":-85.385,"ymax":38.393,"spatialReference":{"wkid":4326}})); gsvc = new esri.tasks.GeometryService("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); qtask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/PublicSafety/PublicSafetyBasemap/MapServer/12"); } function drawPolygon() { var polygon = {"rings":[[ [-85.950, 38.000], [-85.0, 37.9], [-85.440, 38.540], [-85.740, 38.640], [-85.930, 38.640], [-85.950, 38.000] ]], "spatialReference":{" wkid":4326}}; var polygon = new esri.geometry.Polygon(polygon); var symbol = new esri.symbol.SimpleFillSymbol().setStyle(esri.symbol.SimpleFillSymbol.STYLE_SOLID); polygonGraphic = new esri.Graphic(polygon, symbol); map.graphics.add(polygonGraphic); } function doQuery() { var query = new esri.tasks.Query(); query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_TOUCHES; query.geometry = polygonGraphic.geometry; query.returnGeometry = true; qtask.execute(query, queryCallback); alert("hidoQ"); } function queryCallback(featureSet) { var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([0,0,0]), 5); var features = featureSet.features; alert("1"); dojo.forEach(features, function(feature){feature.setSymbol(symbol); map.graphics.add(features); alert("5"); }); } dojo.addOnLoad(initialize);</script></head><body class="tundra"><input type="button" value="Query for points within the polygon graphic." onClick="doQuery();" /><div id="map" style="width:800px; height:400px; border:1px solid #000;"></div></body></html>
What is the error message?
There are a few issues...-your doSimplify function is never used-you don't need to pass in your polygonGraphic to doQuery since polygonGraphic is globalI put together a working example using services hosted by esri:<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css"> <style> html, body { height: 100%; width: 100%; margin: 0; padding: 0; } </style> <script src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6" type="text/javascript"></script> <script type="text/javascript"> dojo.require("esri.map"); var map = null; var gsvc = null; var qtask = null; var polygonGraphic = null; var queryGraphic = null; function initialize() { map = new esri.Map("map"); dojo.connect(map, "onLoad", function () { drawPolygon(); }); var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"); map.addLayer(layer); map.setExtent(new esri.geometry.Extent({"xmin":-115.960,"ymin":36.524,"xmax":-115.734,"ymax":36.648,"spatialReference":{"wkid":4269}})); gsvc = new esri.tasks.GeometryService("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); qtask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/0"); } function drawPolygon() { var polygon = {"rings":[[ [-115.930, 36.540], [-115.740, 36.540], [-115.740, 36.640], [-115.930, 36.640], [-115.930, 36.540] ]], "spatialReference":{" wkid":4269}}; var polygon = new esri.geometry.Polygon(polygon); var symbol = new esri.symbol.SimpleFillSymbol().setStyle(esri.symbol.SimpleFillSymbol.STYLE_SOLID); polygonGraphic = new esri.Graphic(polygon, symbol); map.graphics.add(polygonGraphic); } function doQuery() { var query = new esri.tasks.Query(); query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_CONTAINS; query.geometry = polygonGraphic.geometry; query.returnGeometry = true; qtask.execute(query, queryCallback); } function queryCallback(featureSet) { var symbol = new esri.symbol.SimpleMarkerSymbol(); symbol.style = esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE; symbol.setSize(8); symbol.setColor(new dojo.Color([255,255,0,0.5])); var features = featureSet.features; dojo.forEach(features, function(feature) { feature.setSymbol(symbol); map.graphics.add(feature); }); } dojo.addOnLoad(initialize); </script> </head> <body class="tundra"> <input type="button" value="Query for points within the polygon graphic." onclick="doQuery();" /> <div id="map" style="width:1000px; height:600px; border:1px solid #000;"></div> </body> </html>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.6/js/dojo/dijit/themes/tundra/tundra.css"> <style> html, body { height: 100%; width: 100%; margin: 0; padding: 0; } </style> <script src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.6" type="text/javascript"></script> <script type="text/javascript"> dojo.require("esri.map"); var map = null; var gsvc = null; var qtask = null; var polygonGraphic = null; var queryGraphic = null; function initialize() { map = new esri.Map("map"); dojo.connect(map, "onLoad", function () { drawPolygon(); }); var layer = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"); map.addLayer(layer); map.setExtent(new esri.geometry.Extent({"xmin":-115.960,"ymin":36.524,"xmax":-115.734,"ymax":36.648,"spatialReference":{"wkid":4269}})); gsvc = new esri.tasks.GeometryService("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer"); qtask = new esri.tasks.QueryTask("http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/0"); } function drawPolygon() { var polygon = {"rings":[[ [-115.930, 36.540], [-115.740, 36.540], [-115.740, 36.640], [-115.930, 36.640], [-115.930, 36.540] ]], "spatialReference":{" wkid":4269}}; var polygon = new esri.geometry.Polygon(polygon); var symbol = new esri.symbol.SimpleFillSymbol().setStyle(esri.symbol.SimpleFillSymbol.STYLE_SOLID); polygonGraphic = new esri.Graphic(polygon, symbol); map.graphics.add(polygonGraphic); } function doQuery() { var query = new esri.tasks.Query(); query.spatialRelationship = esri.tasks.Query.SPATIAL_REL_CONTAINS; query.geometry = polygonGraphic.geometry; query.returnGeometry = true; qtask.execute(query, queryCallback); } function queryCallback(featureSet) { var symbol = new esri.symbol.SimpleMarkerSymbol(); symbol.style = esri.symbol.SimpleMarkerSymbol.STYLE_SQUARE; symbol.setSize(8); symbol.setColor(new dojo.Color([255,255,0,0.5])); var features = featureSet.features; dojo.forEach(features, function(feature) { feature.setSymbol(symbol); map.graphics.add(feature); }); } dojo.addOnLoad(initialize); </script> </head> <body class="tundra"> <input type="button" value="Query for points within the polygon graphic." onclick="doQuery();" /> <div id="map" style="width:1000px; height:600px; border:1px solid #000;"></div> </body> </html>
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.