arcgis api for javascrpit 基于dojo框架的query查询功能2
来源:互联网 发布:网络销售客服工作内容 编辑:程序博客网 时间:2024/06/08 16:24
上一个例子中展示的是通过图层中某个元素的属性来进行元素的查询,这次我们需要通过直接点击地图上的某一要素,实现对这个要素的查询功能。
第一步,创建地图:
<html><head> <title>dojo.map</title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.0/js/dojo/dijit/themes/tundra/tundra.css" /> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis?v=2.0"></script> <script type="text/javascript"> dojo.require("esri.map"); dojo.require("esri.tasks.query"); var map; function init(){ var startExtent = new esri.geometry.Extent({"xmin":73384,"ymin":251775,"xmax":133790,"ymax":321048,"spatialReference":{"wkid":102100}} ); //create map map = new esri.Map("map", {extent: startExtent}); var tiledLayer1 = new esri.layers.ArcGISTiledMapServiceLayer("http://192.168.0.181/ArcGIS/rest/services/GISBaseMap/MapServer"); map.addLayer(tiledLayer1); } dojo.addOnLoad(init); </script></head><body><div id="map"></div></body></html>效果图:
第二步,监听地图鼠标点击事件,通过鼠标点击事件获取坐标,然后通过坐标查询出图层中坐标对应的元素,高亮显示。点击高亮显示区域,显示元素详细信息。
代码:
<html><head> <title>dojo.map</title> <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.0/js/dojo/dijit/themes/tundra/tundra.css" /> <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis?v=2.0"></script> <script type="text/javascript"> dojo.require("esri.map"); dojo.require("esri.tasks.query"); var map; var query,queryTask; var symbol,infoTemplate; function init(){ var startExtent = new esri.geometry.Extent({"xmin":73384,"ymin":251775,"xmax":133790,"ymax":321048,"spatialReference":{"wkid":102100}} ); //create map map = new esri.Map("map", {extent: startExtent}); dojo.connect(map,"onClick",executeQueryTask); var tiledLayer1 = new esri.layers.ArcGISTiledMapServiceLayer("http://192.168.0.181/ArcGIS/rest/services/GISBaseMap/MapServer"); map.addLayer(tiledLayer1); queryTask = new esri.tasks.QueryTask("http://192.168.0.181/ArcGIS/rest/services/GISBaseMap/MapServer/1") query=new esri.tasks.Query(); query.returnGeometry=true; query.outFields = []; infoTemplate = new esri.InfoTemplate("sss","ssss"); symbol = new esri.symbol.SimpleFillSymbol(esri.symbol.SimpleFillSymbol.STYLE_SOLID, new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_DASHDOT, new dojo.Color([255,0,0]), 2), new dojo.Color([255,255,0,0.5])); } dojo.addOnLoad(init); function executeQueryTask(evt){ query.geometry=evt.mapPoint; queryTask.execute(query,showResults); } function showResults(featureSet){ map.graphics.clear(); for(var i= 0;i<featureSet.features.length;i++){ var graphic = featureSet.features[0]; graphic.setSymbol(symbol); graphic.setInfoTemplate(infoTemplate); map.graphics.add(graphic); } } </script></head><body><div id="map"></div></body></html>
如图:
阅读全文
0 0
- arcgis api for javascrpit 基于dojo框架的query查询功能2
- arcgis api for javascrpit 基于dojo框架的query查询功能1
- arcgis api for javascrpit 基于dojo框架的query查询功能3
- ArcGIS API for Flex3实现Query查询定位功能
- ArcGIS.Server.9.3和ArcGIS API for Flex实现Query查询定位中心功能(七)
- ArcGIS.Server.9.3和ArcGIS API for Flex实现Query查询定位中心功能(七)
- arcgis api for javascrpit extent()与execute()
- 第三篇 Arcgis api for js之dojo框架使用
- ArcGIS Api For Flex 划选查询功能的实现
- arcgis api for javascript graphiclayer dojo框架下画图图层的显示与清除
- arcgis api for javascrpit 与easyui相结合时遇到的一个问题
- arcgis api for flex开发Query查询定位与中心定位查询功能 弹出定制提示框
- 关于ArcGIS API for JavaScript与Dojo
- 关于ArcGIS API for JavaScript与Dojo
- 关于ArcGIS API for JavaScript与Dojo
- 关于ArcGIS API for JavaScript与Dojo
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现查询定位中心的功能和FindTask功能应用(七)
- ArcGIS.Server.9.3和ArcGIS API for JavaScript实现查询定位中心的功能和FindTask功能应用(七)
- eclipse中project->clean、mvn clean 的作用是什么
- 【NOIP2017Finally模拟11.9】总结
- linux下配置挂载本地yum云
- 蓝牙广播包
- 线性表链接存储(单链表)
- arcgis api for javascrpit 基于dojo框架的query查询功能2
- 你想怎样工作?平淡无奇还是激情四射?
- 02 js基础 BOM
- 深入浅出了解 JavaScript 中的 this
- 线程同步-信号量
- Android ListView异步加载图片乱序问题,原因分析及解决方案
- 海云安:利益博弈,APP安全漏洞背后的攻防交锋
- 如何在vue里面优雅的解决跨域,路由冲突问题
- spring cloud的入门级别的系统搭建