使用web gis 加载显示arcgis for server 发布出来的地图,并提供查询标记显示属性功能

首先会通过arcgis server manager 开启由arcgis desktop 关联发布的mxd地图文件,具体过程arcgis server 的基础教程上都有

  1 <!DOCTYPE html>
  2 <html>
  3 <head>
  4 <meta charset="UTF-8">
  5 <title>Test</title>
  6 <link rel="stylesheet" href="http://js.arcgis.com/3.9/js/esri/css/esri.css" />
  7 <style type="text/css">
  8 html,body,#map{
  9 margin: 0;
 10 padding: 0;
 11 width: 100%;
 12 height: 100%;
 13 }
 14 </style>
 15 <script src="http://js.arcgis.com/3.9/"></script>
 16 <script type="text/javascript">
 17 var infoTemplate;
 18 require([
 19 "dojo/parser",
 20 "dojo/query",//查询
 21 "dojo/on",//关联
 22 "esri/tasks/FindTask",//查询任务
 23 "esri/tasks/FindParameters",//查询参数
 24 "esri/symbols/SimpleLineSymbol",//线符号
 25 "esri/symbols/SimpleFillSymbol",//填充符号
 26 "esri/Color",//颜色
 27 "esri/graphic",//图形
 28 "esri/InfoTemplate",//面板信息模板
 29 "esri/geometry/Point",//点
 30 "esri/SpatialReference",//控件参考系统
 31 "esri/map",
 32 "esri/layers/ArcGISDynamicMapServiceLayer",
 33 "dojo/domReady"
 34 ],function(parser,
 35 query,
 36 on,
 37 FindTask,
 38 FindParameters,
 39 SimpleLineSymbol,
 40 SimpleFillSymbol,
 41 Color,
 42 Graphic,
 43 InfoTemplate,
 44 Point,
 45 SpatialReference,
 46 Map,
 47 ArcGISDynamicMapServiceLayer){
 48
 49 parser.parse();
 50 //    var map=new Map("map",{
 51 //    center:[114.30,30.60],
 52 // zoom:9,
 53 // spatialReference:{"wkid":4326}
 54 //    });
 55 var map=new Map("map");
 56 var layer=new ArcGISDynamicMapServiceLayer("http://localhost:6080/arcgis/rest/services/%E6%B5%8B%E8%AF%95/%E8%A7%86%E9%A2%91%E6%95%99%E5%AD%A66/MapServer");
 57 map.addLayer(layer);
 58
 59
 60 query("#btn").on("click",function(){
 61 //获得搜索名称
 62 var name=query(".nm")[0].value;
 63 //实例化查询参数
 64 var findParams = new FindParameters();
 65 //返回图形实例geometry
 66 findParams.returnGeometry = true;
 67 //查询第四图层
 68 findParams.layerIds = [4];
 69 //匹配属性名称--NAME---可以添加多个属性字段
 70 findParams.searchFields = ["NAME"];
 71 //    findParams.searchFields = ["id"];
 72 //搜索名称--搜索名称
 73 findParams.searchText = name;
 74 //实例化查询对象
 75 var findTask = new FindTask("http://localhost:6080/arcgis/rest/services/%E6%B5%8B%E8%AF%95/%E8%A7%86%E9%A2%91%E6%95%99%E5%AD%A66/MapServer");
 76 //进行查询
 77 findTask.execute(findParams,showFindResult)
 78 });
 79
 80 //对查询参数的作图
 81 function showFindResult(queryResult){
 82 map.graphics.clear();
 83 if (queryResult.length == 0) {
 84 alert("没有该元素");
 85 return;
 86 }
 87 for (var i = 0; i < queryResult.length; i++) {
 88 //获得该图形的形状
 89 var feature= queryResult[i].feature;
 90 var geometry = feature.geometry;
 91
 92 //设置属性信息
 93 var attr={
 94 "layer":queryResult[i].layerName,
 95 "name":queryResult[i].value
 96 };
 97 //显示模板
 98 infoTemplate=new InfoTemplate("标题:${layer}","地址:${name}");
 99
100 //定义高亮图形的符号
101 //1.定义面的边界线符号
102 var outline= new SimpleLineSymbol(SimpleLineSymbol.STYLE_DASHDOT,new Color([255, 0, 0]), 1);
103 //2.定义面符号
104 var PolygonSymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_SOLID, outline,new Color([0, 255, 0, 1]));
105 //创建客户端图形 ---geometry图形 polygonSymbol符号 attr属性 infoTemplate模板
106 var graphic = new Graphic(geometry,PolygonSymbol,attr,infoTemplate);
107 //使用坐标的情况下需要坐标系
108 //将客户端图形添加到map中
109 map.graphics.add(graphic);
110 }
111 }
112
113
114 });
115 </script>
116 </head>
117 <body>
118 name:<input class="nm" type="text" />
119 <input id="btn" type="button" value="查询" />
120 <div id="map"></div>
121 </body>
122 </html>

原文地址:https://www.cnblogs.com/dshuo/p/8142940.html

时间: 2024-10-11 09:37:09

使用web gis 加载显示arcgis for server 发布出来的地图,并提供查询标记显示属性功能的相关文章

构建基于Javascript的移动web CMS——加载JSON文件

在上一篇中说到了如何创建一个Django Tastypie API给移动CMS用,接着我们似乎也应该有一个本地的配置文件用于一些简单的配置,如"获取API的URL"."产品列表"."SEO"(在一开始的时候发现这是不好的,后面又发现Google的爬虫可以运行Javascript,不过也是不推荐的.)这些东西是不太需要修改的,直接写在代码中似乎又不好,于是放到了一个叫作configure.json的文件里. RequireJS Plugins 网上

web.xml加载顺序详解

web.xml加载顺序 1.先加载<context-param>标签 2.创建servletContext容器 3.把<context-parame>标签中数据转化成键值树交给servletContext容器 4.创建Listener实例 5.加载filter(过滤器) 6.加载Interceptor(拦截器) 7.加载servlet 注:filter加载顺序:根据web.xml中<filter-mapper>来决定 servlet一样如此 1.自定义Listener,

web.xml加载顺序

web.xml加载顺序 应用服务器启动时web.xml加载过程,至于这些节点在xml文件中的前后顺序没 有关系,不过有些应用服务器,我曾碰到过的 websphere就严格要求web.xml的 节点顺序,否则部署不成功,所以还是赞成按照web.xml标准格式写 content-param --> listener --> filter --> servlet 1.启动WEB项目的时候,应用服务器会去读它的配置文件web.xml.读两个节 点:<listener></lis

web.xml加载顺序与web.xml常用节点解析

web.xml加载顺序 应用服务器启动时web.xml加载过程,至于这些节点在xml文件中的前后顺序没有关系,不过有些应用服务器,我曾碰到过的 websphere就严格要求web.xml的节点顺序,否则部署不成功,所以还是赞成按照web.xml标准格式写 总的来说, web.xml 的加载顺序是:context-param --> listener --> filter --> servlet 其中, 如果 web.xml 中出现了相同的节点, 则是按照在配置文件中出现的先后顺序来加载的

JAVA Web.xml 加载顺序

web.xml加载过程(步骤): 1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器将<context-param></context-param>转化为键值对,

Tomcat架构解析(三)-----Engine、host、context解析以及web应用加载

上一篇博文介绍了Server的创建,在Server创建完之后,就进入到Engine的创建过程,如下: 一.Engine的创建   1.创建Engine实例 当前次栈顶元素为Service对象,通过Service对象的setContainer()方法,将Engine对象添加到Service中. 2.为Engine添加集群配置 3.为Engine添加生命周期监听器 4.为Engine添加安全配置 二.Host的创建   1.创建Host的实例 addCallMethod(String rule,St

ArcGIS API for JavaScript3.x 学习笔记[5] 加载底图(四)【高德在线地图】

/** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_base/declare", "esri/geometry/Extent", "esri/SpatialReference", "esri/geometry/Point", "esri/layers/TileInfo", "esri/layers/TiledMapServiceLa

手机调用ArcGIS Server发布的Rest地图服务不显示问题

如果是本地发布的服务,在手机端调用server服务时,访问rest地址主机名要改为IP加端口号(192.168.1.100:6080),而且必须是内网才能访问 "http://192.168.1.100:6080/arcgis/rest/services/FirstFloor/MapServer" URL的解释: http://<host>/<instance>/services/<folder> 说明: <host>是ArcGIS服务器

无法为具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer”。请确保使用限定程序集的名称且该程序集对运行的应用程序可用。有关详细信息,请参阅 http://go.m

Windows服务中程序发布之后会如下错误: 无法为具有固定名称"System.Data.SqlClient"的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型"System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer".请确保使用限定程序集的名称且该程序集对运行的应用程序可用.有关详细信息,请参阅 http://go.microsoft.com