0

我一直在尝试将缓冲区功能添加到一个正在进行的项目中,该项目在此处使用 arcgis 服务器链接进行谷歌地图。

我可以在地图上绘制缓冲区,但是,当我尝试对缓冲区(使用 proxy.ashx)和所有内容执行查询时,根据 firebug,代理加载正常,但它们返回错误,“错误:错误代码 0”,仅此而已。因为这个,我现在有点卡住了。

我不确定我做错了代理配置文件还是代码。我目前正在使用上面链接中的图层查询作为如何通过缓冲区查询的参考,方法是指示一个空间过滤器,它是缓冲区本身。

以下是代码:

var layer = overlayObjects['ls'].getMapService().getLayer(0);

var params = {
    geometry: buffers,
    geometryType: "esriGeometryPolygon",
    where:" ",
    spatialRelationship: "CONTAINS",
    returnGeometry: true        
};  

layer.query(params, function(resultSet){...}

错误发生在 layer.query() 方法中。

我的代理配置文件:

<ProxyConfig mustMatch="true">
<serverUrls>
<!-- serverUrl options:
        url = location of the ArcGIS Server, either specific URL or stem
        matchAll = true to forward any request beginning with the url
        token = (optional) token to include for secured service
        dynamicToken = if true, gets token dynamically with username and
          password stored in web.config file's appSettings section.
-->

<serverUrl url="http://*mapserverlink*/ArcGIS/rest/services/"
           matchAll="true"></serverUrl>
</serverUrls>

</ProxyConfig>    

由于某些安全原因,我不确定是否应该将服务器 url 放在这里。无论如何,serverUrl 是不安全的,所以我认为不需要令牌。

另外..是因为我使用的缓冲区对象不是overlayView对象吗?如 queryOptions 类参考中所述。我的缓冲与上面链接中的示例中的缓冲基本相同。我已经使用从缓冲区获得的几何进行了测试,并将其放入地图服务器的查询服务中,并收到了一组记录,但不是用于 javascript。

对此的任何帮助将不胜感激..

4

1 回答 1

0

很抱歉将 google maps api v3 放入其中,因为我认为它包含在我正在查看的 api 参考中。我设法弄清楚错误代码 0 有什么问题。我通读了项目中的 arcgislink.js,发现代码 0 来自 XMLHTTPRequest 的状态代码。在对服务器进行一些配置后,它现在可以工作了..

于 2012-09-14T08:21:16.710 回答