私は次のようなモジュールを作成しました:
module GeoJSON {
export interface position {
(): number[];
}
export interface coordinateArray {
() : position[];
}
export interface polygonRings {
(): position[][];
}
export class GeometryType {
public static Point: string = "Point";
public static LineString: string = "LineString";
public static Polygon: string = "Polygon";
public static MultiPoint: string = "MultiPoint";
public static MultiLineString: string = "MultiLineString";
public static MultiPolygon: string = "MultiPolygon";
public static MultiGeometry: string = "MultiGeometry";
}
export interface Geometry {
type?: string;
}
export interface Point extends Geometry {
coordinates: position;
}
export interface LineString extends Geometry {
coordinates: coordinateArray;
}
export interface Polygon extends Geometry {
coordinates: polygonRings;
}
export interface MultiPolygon extends Geometry {
coordinates: polygonRings[];
}
export interface MultiPoint extends Geometry {
coordinates: coordinateArray;
}
export interface MultiLineString extends Geometry {
coordinates: polygonRings;
}
export interface GeometryCollection extends Geometry {
geometries: Geometry[];
}
}
私がそれを使うとき、私は愚かなエラーを受け取ります。それpush
は未解決の方法です...
var lineString: GeoJSON.LineString = <GeoJSON.LineString> this._myGeometry;
lineString.coordinates.push(position);
に座標をキャストしてみましたGeoJSON.position[]
。コードはコンパイルされますがJavaScript
、エラーがスローされます:(
(<GeoJSON.position[]> lineString.coordinates).push(position);
push
ここで見えるようにする方法は?のタイプをcoordinates
からcoordinateArray
に変更することはできませんposition[]
。後でJSON.stringify
別のJSONデータが返され、サーバーが応答しないためです。