$(document).ready(function () {
function checkKey(evt) {
var keyID = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : evt.keyCode);
alert(keyID);
}
require([
"dojo/parser",
"esri/map",
"esri/geometry/Extent",
"esri/SpatialReference",
"esri/dijit/Scalebar",
"esri/dijit/OverviewMap",
"esri/layers/ArcGISDynamicMapServiceLayer",
"esri/tasks/QueryTask",
"esri/tasks/query",
"esri/symbols/SimpleMarkerSymbol",
"esri/symbols/CartographicLineSymbol",
"esri/symbols/SimpleFillSymbol",
"esri/layers/GraphicsLayer",
"esri/graphic",
"esri/geometry/Geometry",
"esri/InfoTemplate",
"dojo/_base/Color",
"dojo/_base/lang",
"dojox/gfx/fx",
"dijit/layout/LayoutContainer",
"dijit/layout/ContentPane",
"dojo/dom",
"dojo/domReady!"],
function (parser, Map, Extent, SpatialReference, Scalebar, OverviewMap, Dynamic, QueryTask, Query, SimpleMarkerSymbol, CartographicLineSymbol, SimpleFillSymbol, GraphicsLayer, Graphic, Geometry, InfoTemplate, Color, lang, fx, LayoutContainer, ContentPane, dom) {
map = new Map("map", {
//basemap: "national-geographic",
center: \[-72.923611, 41.31\],
zoom: 11,
logo: false
});
function showResultsFlash(featureSet) {
// alert("flash");
// remove all graphics on the maps graphics layer
map.graphics.clear();
// assign featureSet array to a single variable.
var resultFeatures = featureSet.features;
// Loop through each feature returned
for (var i = 0, il = resultFeatures.length; i < il; i++) {
// Get the current feature from the featureSet.
// Feature is a graphic
var graphicFlash = resultFeatures\[i\];
// allow different symbols
markerSymbol = new esri.symbol.SimpleMarkerSymbol(esri.symbol.SimpleMarkerSymbol.STYLE\_DIAMOND, 28,
new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE\_SOLID,
new dojo.Color(\[255, 255, 255\]), 2),
new dojo.Color(\[255, 0, 0, 0.85\]));
lineSymbol = new esri.symbol.CartographicLineSymbol(esri.symbol.CartographicLineSymbol.STYLE\_SOLID,
new dojo.Color(\[0, 255, 255\]), 10, esri.symbol.CartographicLineSymbol.CAP\_ROUND,
esri.symbol.CartographicLineSymbol.JOIN\_MITER, 5);
fillSymbol = 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.85\]));
// figure out which symbol to use
if (graphicFlash.geometry.type === "point" || graphicFlash.geometry.type === "multipoint") {
symbol = markerSymbol;
} else if (graphicFlash.geometry.type === "line" || graphicFlash.geometry.type === "polyline") {
symbol = lineSymbol;
} else {
symbol = fillSymbol;
}
var flashGraphicLayer = new GraphicsLayer();
map.addLayer(flashGraphicLayer);
//map.reorderLayer(graphicFlashLayer, 0);
//graphicFlash.setSymbol(symbol);
var g = new Graphic(graphicFlash, symbol)
//Add graphic to the map graphics layer.
map.flashGraphicLayer.add(g);
alert("not getting here");
// using partial: http://dojotoolkit.org/reference-guide/1.9/dojo/\_base/lang.html#dojo-base-lang-partial
setTimeout(lang.partial(function (animateMe) {
var shape = animateMe.getDojoShape();
fx.animateStroke({
shape: shape,
duration: 1000,
color: {
start: "red",
end: shape.strokeStyle.color
},
width: {
start: 20,
end: shape.strokeStyle.width
}
}).play();
}, g), 500);
}
}
}
function gridSelect(e) {
var graphicFlash;
var gridId = e.currentTarget.id;
var selectedGrid = dijit.byId(gridId);
var row = selectedGrid.row(e);
graphicHighlight = findGraphicByAttribute(row.data);
if (graphicHighlight !== null) {
switch (graphicHighlight.geometry.type) {
case "point": case "multipoint":
graphicFlash = new esri.Graphic(graphicHighlight.geometry, symbolFlashPoint)
break;
case "polyline":
graphicFlash = new esri.Graphic(graphicHighlight.geometry, symbolFlashPolyline);
break;
case "polygon": case "extent":
graphicFlash = new esri.Graphic(graphicHighlight.geometry, symbolFlashPolygon);
break;
}
map.graphics.add(graphicFlash);
}
var shape = graphicFlash.getDojoShape();
var animStroke = fx.animateStroke({
shape: shape,
duration: 500,
color: { end: new dojo.Color(\[0, 0, 0, 0\]) }
});
var animFill = fx.animateFill({
shape: shape,
duration: 500,
color: { end: new dojo.Color(\[0, 0, 0, 0\]) }
});
var anim = dojo.fx.combine(\[animStroke, animFill\]).play();
var animConnect = dojo.connect(anim, "onEnd", function () {
map.graphics.remove(graphicFlash);
});
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章