Arcgis Javascript API学習(五)簡単な周辺クエリ

1346 ワード

周辺の調査をする時、二つの案を考えました.
一つ目は点ごとの距離を巡ることですが、考えてみると効率が悪いかもしれません.主な呼び出しはGeometryServiceのlengths-completteeイベントです.この考えはパスが外れました.
第二のGeometryServiceはまた、イベントを提供します.これはちょっと堅実な感じがします.サンプルコードは以下の通りです.
/*
 *         
 *    
 *  1.      
 *  2.     
 *  3.     
 */
dojo.require("esri.tasks.BufferParameters");
function nearbySearchStart(size) {
	geometryService = new esri.tasks.GeometryService(bufferServer);
	var params = new esri.tasks.BufferParameters();
	params.geometries = [ graphicNB.geometry ];
	params.distances = [ size ];
	params.unit = esri.tasks.GeometryService.UNIT_KILOMETER;
	params.bufferSpatialReference = new esri.SpatialReference({wkid: 4326});
	params.outSpatialReference = map.spatialReference;
	geometryService.buffer(params);
	dojo.connect(geometryService, "onBufferComplete", buffercomplet);
}
function buffercomplet(result) {
	var selectLayer = new esri.layers.GraphicsLayer({id:"selectLayer"});
	var symbol = new esri.symbol.SimpleFillSymbol(
			esri.symbol.SimpleFillSymbol.STYLE_NULL,
			new esri.symbol.SimpleLineSymbol(
					esri.symbol.SimpleLineSymbol.STYLE_SHORTDASHDOTDOT, new dojo.Color([105,105,105]), 2), new dojo.Color([255,255,0,0.25])
			);
	var selectGraphic = new esri.Graphic(result[0], symbol);
	selectLayer.add(selectGraphic);
	map.addLayer(selectLayer);
}