一、遇到的问题描述:

在参考ArcGIS Resource Center中的Query task->Query map with buffer polygon中使用queryTask.execute(query)执行查询的时候,总是不会触发到dojo.connect(queryTask, "onComplete", function(fset)中的onComplete事件。

部分代码如下:

{
          ……
          query.geometry = graphic.geometry;
          queryTask.execute(query);
          dojo.byId('messages').innerHTML = "<b>Executing Query with Result Buffer Geometry...</b>";
        });

// +++++Listen for QueryTask executecomplete event+++++
        dojo.connect(queryTask, "onComplete", function(fset) {

……
        }

后来firebug中调试发现:query.geometry是个多边形(含有的point多)导致的web service的url的参数个数大于2048个,而我们这里采用的是get方式(最大的字符数为2048)不是post方式。所以我们需要一个proxy page做代理(即例子中的proxy.ashx)。

关于proxy.ashx可以参考:http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jshelp_start.htm中的working with ArcGIS Server Service ---> Using the proxy page相关.

这里大概介绍下使用方法(具体的参考上述ESRI官网的帮助):

I、下载proxy.ashx文件(包含proxy.config)的zip压缩包,将上述两个包解压到你的web application的目录下.然后在程序中添加上它们两个.

II、修改proxy.config配置文件:<serverUrls>节点下添加一个子节点<serverUrl >,设置属性url:如果你的web程序用到大于两个服务(下面"二、"说的七种服务)的话  url=http://你的IP地址/arcgis/rest/services/;如果是web程序用到一个服务的话:url=http://你的IP地址/arcgis/rest/services/MyMapService/MapServer 。如果你不是用本地的服务的话你可以不做修改(因为它里面已经有ESRI发布的相关服务的URL了).

III、在你客户端页面的js脚本初始话的时候,或者会导致get方式字符数>2048时。添加如下代码:

esri.config.defaults.io.proxyUrl = "proxy.ashx";(当然这个地址是根据实际在web项目中的位置决定的,也可能是" …/Proxy/proxy.ashx"等)

//可以设置她是不是用proxy page,如果字符数>2048时,默认的是false。

esri.config.defaults.io.alwaysUseProxy = true;

问题就解决了。

二、关于Geometry service相关:

1、9.3中共有七种服务,如下图。每创建一个服务之前,需要创建GIS resource(让人想起了 ADF OEM中的IGISResource),每种服务对应其GIS Resource:

Geometry service不需要任何资源,但是需要人工发布,发布后的地址如:http://esri-pc3973/ArcGIS/rest/services/Geometry/GeometryServer 。关于GP service可以参考安装的离线帮助。

转载于:https://www.cnblogs.com/upDOoGIS/archive/2010/01/07/1641231.html

ArcGIS 9.3 For JavaScript API 学习笔记相关推荐

  1. Crypto API 学习笔记一

    标 题: [原创]Crypto API 学习笔记一 作 者: jdxyw 时 间: 2006-09-01,16:47 链 接: http://bbs.pediy.com/showthread.php? ...

  2. Javascript入门学习笔记

    JS入门学习笔记目录 1.JS简介 2.组成部分 3.特点 4.作用 5.JS三种添加方式 6.变量 7.数据类型 8.检测数据类型 9.逗号运算符 10.算术运算符 11.关系运算符 12.逻辑运算 ...

  3. JavaScript闭包学习笔记

    闭包(closure)是JavaScript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 下面就是我的学习笔记,对于JavaScript初学者应该是很有用的. 一.变量的作用域 要理解 ...

  4. SiKi学院 Unity中常用api学习笔记(001-014)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  5. SiKi学院 Unity中常用api学习笔记(015-019)

    Api 应用程序编程接口 前言 笔记是看siki学院中<Unity中常用api>的学习笔记 课程地址:  http://www.sikiedu.com/my/course/59 强烈推荐大 ...

  6. Java Web--HTML、CSS、JavaScript详细学习笔记(内含丰富示例代码)

    ** Java Web–HTML.CSS.JavaScript学习笔记 ** HTML(Hyper Text Markup Language超文本标记语言):控制的是页面的内容,是由标签组成的语言,能 ...

  7. libvirt API学习笔记

    为环境CentOS5.5 从官方网站上下载了文档   libvirt 0.7.5  Application  Development Guide 由于CentOS自带libvirt版本为0.6.3的, ...

  8. 百度地图JavaScript API 学习之浏览器定位

    浏览器定位示例 百度地图API官方的所有demo示例--请直戳这里 官方浏览器定位demo示例--请直戳这里 后来发现的问题,这里记录一下: 在使用百度地图JS API时,无意中发现谷歌浏览器的浏览器 ...

  9. Frida JavaScript API学习

    文章目录 Runtime information Frida Script Process, Thread, Module and Memory Thread 线程 Thread.backtrace ...

  10. JavaScript Reflect 学习笔记

    今天我们来学习JavaScript中的反射和ES6的Reflect对象. 什么是反射? 反射机制是指在程序运行期间能够获取自身的信息,比如一个对象能够在运行时就知道自己有哪些属性和方法. 在ES6之前 ...

最新文章

  1. 大数据,只是为了赚钱么?
  2. Oracle MD5加密
  3. 项目总结(采用领域驱动开发方式)
  4. sap模块介绍_SAP系统如何快速上手?
  5. java语法糖效率高吗_打包 Java将持续向“高糖”方向发展,你真的了解Java语法糖吗? _好机友...
  6. 微软和火眼又分别发现SolarWinds 供应链攻击的新后门
  7. mysql 视图没主键,mysql创建视图后打开提示没有主键,mysql视图
  8. C#中?与??的区别
  9. Word2016各种快捷键
  10. 网站关键词优化工具,网站关键词排名优化工具免费
  11. 小括号与花括号小括号与花括号
  12. LATEX公式下标短横线过长
  13. CreateCompatibleDC 解释
  14. The Accidental HFT Firm
  15. 动态规划解决最长公共子序列
  16. 【调剂经验】19年一战东南大学计算机专硕调剂蒙纳士,初复试经验调剂经验分享!...
  17. Android从零单排之免费短信验证
  18. DB2浮点数转换成字符串
  19. 工行开放平台接口签名详解
  20. 模拟声音实验室插件-Arturia Analog Lab v4.2.3.3897 WiN-MAC

热门文章

  1. 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_12-MongoDb入门-基础概念...
  2. 阶段3 3.SpringMVC·_06.异常处理及拦截器_5 SpringMVC拦截器之编写controller
  3. 第490篇--Accessing the Domain info is denied in IIS.
  4. 阶段3 1.Mybatis_03.自定义Mybatis框架_3.自定义mybatis的编码-根据测试类中缺少的创建接口和类...
  5. Mysql基本语句(个人笔记)
  6. 旧板与IO板之间的连接
  7. 相克军_Oracle体系_随堂笔记011-事物
  8. vue echart甘特图
  9. BZOJ3145 [Feyat cup 1.5]Str 后缀树、启发式合并
  10. word中的总页数不包括封面、目录