あなたはあなたのウェブserver.Because WFSLayer
ためproxy
を設定する必要がありますが、あなたのコード内のプロキシpage.Soを使用する必要があり、spoxy
文字列は、ローカルコンピュータ上のプロキシパスをする必要があります。
esriConfig.defaults.io.proxyUrl = "/sproxy/";
は、あなたのproxy.Esriが提供している1.prepare 3はDOTNET、PHPとjava.Letがexample.Forの詳細や、プロキシを設定しUsing the proxyを参照するには、他の方法をDOTNET方法を取るなど、プロキシに方法をお勧めします。
a。 dotnetプロキシファイルをダウンロードします。 github Esri/resource-proxy zipファイルをダウンロードし、DotNet
フォルダを展開します。
b。 dotnet proxy Instructionsに従ってください。
c。 proxy.config
ファイルを編集してserverUrl
要素をserverUrls
に追加し、プロキシを送信するサーバーURLを指定します。
<serverUrls>
<serverUrl url="http://services.arcgisonline.com"
matchAll="true"/>
<serverUrl url="http://suite.opengeo.org/geoserver/wfs"
matchAll="true"/>
<serverUrl url="http://localhost:8080/geoserver/wfs"
matchAll="true"/>
</serverUrls>
2.コードのプロキシURLを設定します。
map = new Map("map", {
basemap: "topo",
center: [-122.836, 42.346],
zoom: 13
});
var layer = new WFSLayer();
var opts = {
"url": "http://suite.opengeo.org/geoserver/wfs",// your wfs layer url goes here
"version": "1.1.0",
"name": "citylimits",
"wkid": 3857,
"maxFeatures": 100
};
//relative path,namely: C:\inetpub\wwwroot\DotNet\proxy.ashx
esriConfig.defaults.io.proxyUrl = "/DotNet/proxy.ashx";
layer.fromJson(opts);
map.addLayer(layer);
最終コード注:コードを正常に実行するには、上記の手順に従ってWebサーバーのプロキシを設定する必要があります。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no" />
<title>WFS Layer</title>
<link rel="stylesheet" href="https://js.arcgis.com/3.20/esri/css/esri.css">
<style>
html,
body,
#map {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
</style>
<script src="https://js.arcgis.com/3.20/"></script>
<script>
var map;
require(["esri/map", "esri/InfoTemplate", "esri/layers/WFSLayer", "esri/config", "dojo/domReady!"], function(Map, InfoTemplate, WFSLayer, esriConfig) {
map = new Map("map", {
basemap: "topo",
center: [-122.836, 42.346],
zoom: 13
});
var layer = new WFSLayer();
var opts = {
"url": "http://suite.opengeo.org/geoserver/wfs",
"version": "1.1.0",
"name": "citylimits",
"wkid": 3857,
"maxFeatures": 100
};
//relative path,namely: C:\inetpub\wwwroot\DotNet\proxy.ashx
esriConfig.defaults.io.proxyUrl = "/DotNet/proxy.ashx";
layer.fromJson(opts);
map.addLayer(layer);
});
</script>
</head>
<body>
<div id="map"></div>
</body>
</html>
それはあなたのことを願ってい。
あなたはすでに試したことを詳しく説明し、それがうまくいかなかった理由を説明できますか? –
こんにちは、私のコードはこれまでのようになります: var layer = new WFSLayer(); "します。http:// localhost:8080/geoserver/WFS" は、 "バージョン": "1.0.0"、 "名": "RSAC:RSAC_Field_boundary_WGS84_2"、 「WKID varが= { "URL" を付き合え":4326, " maxFeatures ":100 }; esriConfig.defaults.io。proxyUrl = "/ sproxy /" ;; layer.fromJson(opts); map.addLayer(layer); });しかし、私のwfsレイヤーはマップに表示されません。 – user8136435
質問にあなたのコードを追加しました(編集が受け入れられるまで表示されない場合があります)。構文エラーがいくつかあります。 2行目に余分なセミコロン( ';')があり、7行目に余分なセミコロンがあり、9行目に余分な終了オブジェクト定義( '})があります。これらがあなたのコードに存在するなら、私は何かの前にそれらを修正することを提案するでしょう。 –