arcgis javascript app学習5

66480 ワード

混雑していますが、走ることができるコードの一部は、試験田と略称されています.

  
<% @ Page Language = " C# " AutoEventWireup = " true " CodeFile = " Default2.aspx.cs " Inherits = " Default2 " %>

<! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >

< html xmlns = " http://www.w3.org/1999/xhtml " >
< head runat = " server " >
< title > Simple Map </ title >
< link rel = " stylesheet " type = " text/css " href = " http://localhost/arcgis_js_api/library/2.0/arcgis/js/dojo/dijit/themes/tundra/tundra.css " />
< script type = " text/javascript " src = " http://localhost/arcgis_js_api/library/2.0/arcgis/ " ></ script >
< script type = " text/javascript " >

dojo.require(
" esri.map " );
dojo.require(
" esri.toolbars.draw " );
dojo.require(
" esri.graphic " );
dojo.require(
" esri.layers.graphics " );
dojo.require(
" esri.tasks.query " );
dojo.require(
" esri.tasks.geometry " );

var map;
var tb;

function Init() {
map
= new esri.Map( " map " );

dojo.connect(map,
" onLoad " , initToolbar); // map "onLoad" Fires when the first or base layer has been successfully added to the map.
dojo.connect(map, " onClick " , myClickHandler); // map "onClick"

var layer
= new esri.layers.ArcGISDynamicMapServiceLayer( " http://localhost/ArcGIS/rest/services/zhyxk/MapServer " );
map.addLayer(layer);

// dojo.connect(map.graphics, "onClick", myGraphicsClickHandler);

}

function myClickHandler(
event ) {
// alert("User clicked at " + event.screenPoint.x + ", " + event.screenPoint.y + " on the screen. The map coordinate at this point is " + event.mapPoint.x + ", " + event.mapPoint.y);
}


function myGraphicsClickHandler(evt) {
// alert("User clicked on " + evt.graphic);
// alert(evt.mapPoint.x);


var symbol
= new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,
new dojo.Color([ 255 , 255 , 0 ]), 2 ), new dojo.Color([ 255 , 0 , 0 , 0.25 ]));

evt.graphic.setSymbol(symbol)

}


function initToolbar(map){

tb
= new esri.toolbars.Draw(map);
dojo.connect(tb,
" onDrawEnd " , addGraphic); // tb "onDrawEnd" Fires when drawing is complete.
dojo.connect(map.graphics, " onClick " , myGraphicsClickHandler); // map.graphics, "onClick"
// map.graphics map.onload , map.onLoad //added by zhangjun at 2011-02-21

}

function addGraphic(geometry) {

// spatialQuery(geometry); //

map.graphics.clear();

var symbol
= new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,
new dojo.Color([ 0 , 255 , 0 ]), 2 ), new dojo.Color([ 255 , 255 , 0 , 0.25 ]));

var graphic
= new esri.Graphic(geometry, symbol);
map.graphics.add(graphic);

}


function clearGraphic() {
map.graphics.clear();

}

function addSearchedGraphic() {


var geo
= " <%=str%> " ; // C#
alert(geo);
var a
= geo.split( " , " );


var symbol
= new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,
new dojo.Color([ 255 , 0 , 0 ]), 2 ), new dojo.Color([ 255 , 255 , 0 , 0.25 ]));
var extent
= new esri.geometry.Extent(a[ 0 ], a[ 1 ], a[ 2 ], a[ 3 ], new esri.SpatialReference({ wkid: 4326 }));
var graphic
= new esri.Graphic(extent, symbol);
map.graphics.add(graphic);


}

// result
function updatepage(result){
alert(result);
}


var myReq
= new XMLHttpRequest();
function xmlhttprequest() {
if (window.XMLHttpRequest)
{
var url
= " http://localhost/xmlhttprequest/simple.xml " ;
myReq.open(
" GET " , url, false );
myReq.send();
// alert("here");
alert(myReq.responseXML);
alert(myReq.responseXML.xml);
}
}

function callWSMethod1() {
if (window.XMLHttpRequest) {
var url
= " http://localhost/testjs2.0services/DBService.asmx?op=HelloWorld " ;
myReq.onreadystatechange
= CheckStatus1;
// true indicates asynchronous request
myReq.open( " GET " ,url, true );
myReq.send();
// TextArea1.value = myReq.responseText;
}
}
function CheckStatus1() {
if (myReq.readyState == 4 ) // Completed operation
{
myReq.open(
" POST " , " http://localhost/testjs2.0services/DBService.asmx/HelloWorld " , false );
myReq.send();
// form1.TextArea1.value = oReq.responseText;
TextArea1.value = myReq.responseXML.xml;

}
}


function callWSMethod2() {
if (window.XMLHttpRequest) {
var url
= " http://localhost/testjs2.0services/DBService.asmx/HelloWorld2?str= " ;
url
+= " 222222 " ;
myReq.onreadystatechange
= CheckStatus2;
myReq.open(
" GET " , url, true );
}
}
function CheckStatus2() {
if (myReq.readyState == 4 ) {
TextArea1.value
= myReq.responseXML.xml;
}
}

function spatialSuccess(featureSet)
{
// map.graphics.clear();

var showXBExtent;

var symbol
= new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID,
new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID,
new dojo.Color([ 0 , 0 , 255 , 0.35 ]), 1 ), new dojo.Color([ 255 , 0 , 0 , 0.35 ]));
// QueryTask returns a featureSet. Loop through features in the featureSet and add them to the map.
for (var i = 0 , il = featureSet.features.length; i < il; i ++ ) {
// Get the current feature from the featureSet.
// Feature is a graphic
var graphic = featureSet.features[i];
graphic.setSymbol(symbol);
// graphic.setInfoTemplate(infoTemplate);

// Add graphic to the map graphics layer.
map.graphics.add(graphic);

if (i == 0 ) {

showXBExtent
= graphic.geometry.getExtent().union(map.graphics.graphics[ 0 ].geometry.getExtent()); //
}
else {
showXBExtent
= showXBExtent.union(graphic.geometry.getExtent());
}
}

map.setExtent(showXBExtent.expand(
1.5 ));

}

function spatialError(err) {
alert(err.name
+ " : " + err.message);
}

function spatialQuery() {

// build query task
var queryTask = new esri.tasks.QueryTask( " http://localhost/ArcGIS/rest/services/newfeatureclass/MapServer/0 " );

// build query filter
query = new esri.tasks.Query();
query.returnGeometry
= true ;
query.outFields
= [ " NAME " ];

var geo
= map.graphics.graphics[ 0 ].geometry;
// geo.setSpatialReference({ "spatialReference": { "wkid": 4326} });

// var extent = new esri.geometry.Extent({ "xmin": 100, "ymin": 30, "xmax": 110, "ymax": 40, "spatialReference": { "wkid": 4326} });
query.geometry = geo;
query.spatialRelationship
= esri.tasks.Query.SPATIAL_REL_INTERSECTS; // , //added by zhangjun at 2011-02-21
// alert(query.geometry.getExtent().xmax); // , geometry, javascript

dojo.connect(queryTask,
" onComplete " , spatialSuccess);
dojo.connect(queryTask,
" onError " , spatialError);


queryTask.execute(query);

}

function attQuery() {

// build query task
var queryTask = new esri.tasks.QueryTask( " http://localhost/ArcGIS/rest/services/newfeatureclass/MapServer/0 " );

// build query filter
query = new esri.tasks.Query();
query.returnGeometry
= true ;
query.outFields
= [ " NAME " ];
var qstr
= document.getElementById( " AttText1 " ).value;
query.
where = " NAME Like '% " + qstr + " %' " ;

dojo.connect(queryTask,
" onComplete " , function(featureSet) {

map.graphics.clear();
var showXBExtent

var symbol
= new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([ 0 , 0 , 255 , 0.35 ]), 1 ), new dojo.Color([ 255 , 0 , 0 , 0.35 ]));
// QueryTask returns a featureSet. Loop through features in the featureSet and add them to the map.
for (var i = 0 , il = featureSet.features.length; i < il; i ++ ) {
// Get the current feature from the featureSet.
// Feature is a graphic
var graphic = featureSet.features[i];
graphic.setSymbol(symbol);
// graphic.setInfoTemplate(infoTemplate);

// Add graphic to the map graphics layer.
map.graphics.add(graphic);

if (i == 0 ) {
showXBExtent
= graphic.geometry.getExtent().union(map.graphics.graphics[ 0 ].geometry.getExtent()); // //
}
else {
showXBExtent
= showXBExtent.union(graphic.geometry.getExtent());
}
}
map.setExtent(showXBExtent.expand(
1.5 ));
});

queryTask.execute(query);


}


dojo.addOnLoad(Init);

</ script >
< style type = " text/css " >
#Button2
{
width: 101px;
}
#Button3
{
width: 119px;
}
#Button4
{
width: 97px;
}
#Button6
{
width: 111px;
}
#TextArea1
{
height: 48px;
width: 371px;
}
#Button11
{
width: 91px;
}
#Button12
{
width: 114px;
}
</ style >
</ head >
< body >
< form id = " form1 " runat = " server " >
< div id = " map " style = " width:694px; height:383px; border:1px solid #000; " >
</ div >
< div >
< asp:Label ID = " Label1 " runat = " server " Text = " " ></ asp:Label >
< asp:TextBox ID = " TextBoxSearch " runat = " server " Width = " 258px " ></ asp:TextBox >
< asp:Button ID = " ButtonSearch " runat = " server " Text = " "
onclick
= " ButtonSearch_Click " Width = " 82px " />
< asp:ListBox ID = " ListBox1 " runat = " server " Height = " 88px " Width = " 275px " >
</ asp:ListBox >
</ div >

< input id = " Button1 " type = " button " value = " " onclick = " tb.activate(esri.toolbars.Draw.EXTENT) " />
< input id = " Button9 " type = " button " value = " " onclick = " tb.deactivate() " />
< input id = " Button2 " type = " button " value = " " onclick = " clearGraphic() " />
< input id = " Button12 " type = " button " value = " " onclick = " spatialQuery() " />
< asp:Label ID = " Label2 " runat = " server " Text = " NAME: " ></ asp:Label >
< input id = " AttText1 " type = " text " />
< input id = " Button11 " type = " button " value = " " onclick = " attQuery() " />< p >
< input id = " Button3 " type = " button " value = " " onclick = " addSearchedGraphic() " />
< input id = " Button4 " type = " button " value = " " onclick = " clearGraphic() " />
</ p >

< asp:ScriptManager ID = " ScriptManager1 " runat = " server " >
< Services >
< asp:ServiceReference Path = " http://zhyxkserver/testjs2.0servicevs2005/DBService.asmx " />
</ Services >
</ asp:ScriptManager >


< asp:PlaceHolder ID = " PlaceHolder1 " runat = " server " Visible = " False " >
< asp:HiddenField ID = " HiddenField1 " runat = " server " Visible = " False " />
</ asp:PlaceHolder >

< p >
< asp:Button ID = " Button5 " runat = " server " onclick = " Button5_Click "
Text
= " hiddedvalue " Width = " 114px " />
</ p >

</ form >
< p >
< input id = " Button6 " type = " button " value = " xmlhttprequest " onclick = " xmlhttprequest() " />
< input id = " Button7 " type = " button " value = " xmlhttprequest2 " onclick = " callWSMethod1() " />
< input id = " Button8 " type = " button " value = " xmlhttprequest3 " onclick = " callWSMethod2() " />
< textarea id = " TextArea1 " name = " S1 " cols = " 1 " rows = " 1 " ></ textarea >

</ p >
</ body >
</ html >