ここで Google マップ用の 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 クラス リファレンスに記載されているとおりです。私のバッファリングは、上記のリンクの例とほぼ同じです。バッファから取得した Geometry を使用してテストし、それを mapserver のクエリ サービスに配置して、レコードの配列を受け取りましたが、javascript ではありません。
これについての助けをいただければ幸いです..