ユーザーが潜在的な土地利用を示すために地図上に形状を描画できるアプリを持っています。また、開発計画がないことを示したい「変更なし」ゾーンを示すために形状を描画することもできます。
基本的に工業団地を示す形を作って、その工業団地を基本的に切り取る形で重ねて描き、その工業団地を開発禁止区域として指定します。
これが私のコードです:
function cutOutNoChangeZone () {
var geometries = land_use_planning.graphics,
geometries_to_be_cut,
geoService = new esri.tasks.GeometryService("http://gis.website.com/ArcGIS/rest/services/Geometry/GeometryServer");
for (var i = 0, len = geometries.length; i < len; i++) {
var geometry = geometries[i];
if (geometry.planning_type === 'no_change') {
// cut ALL polygons that are under the no change zone
geometries_to_be_cut = geometries.slice(0, i);
// NEXT LINE THROWS ERROR
geoService.cut(geometries_to_be_cut, geometry);
}
}
}
コンソールにエラーがスローされます。
TypeError: 未定義のプロパティ 'toJson' を読み取ることができません
init.js
これは、js.arcgis.com サーバー上の縮小された ArcGIS 3.9 ファイルからのものです。メソッドを使用して、ジオメトリが有効なジオメトリであることを確認するために for ループを既にデバッグしましたtoJson
。私は、同様の機能を示すこの esri フォーラムの例に従おうとしていました: https://geonet.esri.com/thread/63777。
また、これを 2 つの形状のみでテストしていることにも注意してください。 geometries_to_be_cut
は単一のジオメトリの配列でありgeometry
、「変更なし」のジオメトリです。
これは単純な関数であるように思われます。どこが間違っているのかわからないので、誰かがこれについて何らかの洞察を持っているかもしれないと考えました。