2

私は次のようなGMLベクトルを作成していました:

layer = new OpenLayers.Layer.GML("based",
        "./parser2.php",
        {
            isBaseLayer: true,
            format: OpenLayers.Format.GeoJSON,
            styleMap: new OpenLayers.StyleMap(mystyle),
            units:"m",
            maxResolution: 0.2,
            minResolution: 0.01
        })

map.addLayer(layer);

しかし、OpenLayers.Layer.Vector を使用する必要がある複数の理由のために減価償却されましたが、geoJon ファイルを読み取ることができません。私はこのように試しました:

   var test = new OpenLayers.Layer.Vector("test", {
    strategies: [new OpenLayers.Strategy.Fixed()],
    protocol: new OpenLayers.Protocol.HTTP({
        isBaseLayer: true,
        url: "data.json",
        styleMap: myStyles,
        format: new OpenLayers.Format.JSON()
        })
    });
map.addLayer(test);

残念ながら、それは機能していません。

手がかりはありますか?

ありがとう

4

1 に答える 1

2

次の Web ページで説明されている手順を使用して、GeoJSON 形式のデータをレイヤーに追加します 。http : //thinkwhere.wordpress.com/2011/06/26/geocommons-geojson-in-openlayers/{"type": "FeatureCollection", "features": ...}この例に示すように、GeoJSON 文字列の前後に追加しないでください。

簡単な英語では、手順は次のとおりです。

  1. データを読み取るオプションなしで新しいOpenLayers.Layer.Vectorレイヤーを作成します。
  2. URL は自分で読んでください。
  3. 読み取りが完了したときに呼び出されるコールバック関数で、OpenLayers.Format.GeoJSON()オブジェクトを作成し、それを使用して GeoJSON 文字列からフィーチャを読み取り、フィーチャをレイヤーに追加します。
于 2011-09-03T07:48:18.827 に答える