2017-06-22 65 views
1

Stack Overflowのすべての質問を読んだことがあります。また、リーフレットマップにGeoJSONベクトルタイルを追加するためのWebで見つけることができるすべての例があります。残念ながら、私はまだそれの周りに私の頭をラップすることはできません、はるかに少ない私のデータの仕事を得る。リーフレットにGeoJSONポイントをベクトルタイルとして追加する方法は?

私は多くのポイントを持つGeoJSON(here)を持っています。リーフレットのレイヤーとして追加することができます。実際の値を持つ有効なファイルであると確信しています。

私はgeojson-vtleaflet vector gridを試しました。このコードで
Uncaught ReferenceError: z is not defined at <anonymous>:1:30

にGeoJSON-VTは、エラーを返し続ける私が見つけた例のいずれも示さなかったので、

geoJson = {data} 
var tileOptions = { 
    maxZoom: 18, 
    tolerance: 5, 
    extent: 4096, 
    buffer: 64, 
    debug: 0, 
    indexMaxZoom: 0, 
    indexMaxPoints: 100000, 
}; 
var tileIndex = geojsonvt(geoJson, tileOptions); 
var tile = tileIndex.getTile(z, x, y); 

私はこれを診断する多くの問題を抱えている彼らデータだけでなく、z、x、yの定義を参照するものもありません。これらはGeoJSONオブジェクトの必須の値ではありません。私は何が欠けていますか?

another question of mineリーフレットベクトルグリッドがGeoJSONポイントにエラーがあることがわかりました。私は、最初のエラーを解決するために、ソースコードの一部を変更するために管理が、今のように1,000以上のエラーを取得:私はようにGeoJSONポイントを追加するにはどうすればよい
L.vectorGrid.slicer(geoJson).addTo(map)

:コードから
Error: <path> attribute d: Expected number, "MNaN,47.5aundefin…".

をベクトルタイルレイヤーをリーフレットマップに追加するデータを参照するための簡単な例はありますか?調査するための助けや他の指示をいただければ幸いです。

答えて

0

私は発生した問題をLeaflet.VectorGrid.Slicerで解決できました。

最初にLeaflet.VectorGrid.jsのソースコードをダウンロードし、hereと表示されている行を変更しました(VectorGrid github siteで利用可能なソースコードの1483〜1495行に対応しています)。

トラブルシューティング後、radiusオプションを追加してL.vectorGrid.slicerを呼び出すと、GeoJSONポイントがマップに追加されていました。これは働いたコードです:

var layer = L.vectorGrid.slicer(geoJson, { 
    vectorTileLayerStyles: { 
     sliced: { 
      radius: 1, 
     } 
    } 
}).addTo(map); 
1

これを数分間見てきましたが、私はLeaflet.VectorGridにバグがあり、スライスポイントに影響があると判断しました。 I've opened a bug report with relevant information

+0

これらのバグを調べてくれてありがとう。私はいくつかのトラブルシューティングでバグレポートにコメントを追加しました。 – Bird

関連する問題